├── .gitignore ├── replit.nix ├── dev ├── vite.config.js ├── index.html └── index.ts ├── .replit ├── pull_request_template.md ├── package.json ├── README.md ├── tsconfig.json ├── src └── interact.ts └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | .DS_Store 4 | .cache -------------------------------------------------------------------------------- /replit.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: { 2 | deps = [ 3 | pkgs.nodejs-16_x 4 | pkgs.yarn 5 | pkgs.nodePackages.typescript-language-server 6 | ]; 7 | } 8 | -------------------------------------------------------------------------------- /dev/vite.config.js: -------------------------------------------------------------------------------- 1 | const isReplit = Boolean(process.env.REPL_SLUG); 2 | 3 | export default { 4 | server: { 5 | host: '0.0.0.0', 6 | ...(isReplit 7 | ? { 8 | hmr: { 9 | clientPort: 443, 10 | }, 11 | } 12 | : {}), 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /dev/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Codemirror Interact 7 | 8 | 9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.replit: -------------------------------------------------------------------------------- 1 | run = "yarn run dev" 2 | 3 | entrypoint = "main.sh" 4 | hidden = [".build", ".config"] 5 | 6 | [env] 7 | XDG_CONFIG_HOME = "/home/runner/.config" 8 | 9 | [nix] 10 | channel = "stable-22_11" 11 | 12 | [languages] 13 | 14 | [languages.typescript] 15 | pattern = "**/{*.ts,*.js,*.tsx,*.jsx}" 16 | 17 | [languages.typescript.languageServer] 18 | start = "typescript-language-server --stdio" 19 | 20 | [packager] 21 | language = "nodejs" 22 | 23 | [packager.features] 24 | enabledForHosting = false 25 | packageSearch = true 26 | guessImports = true 27 | 28 | [gitHubImport] 29 | requiredFiles = [".replit", "replit.nix", ".config"] 30 | 31 | [[ports]] 32 | localPort = 5173 33 | externalPort = 80 34 | -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | # Why 2 | 3 | 7 | 8 | # What changed 9 | 10 | 16 | 17 | # Test plan 18 | 19 | 24 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@replit/codemirror-interact", 3 | "description": "Interact with custom values", 4 | "version": "6.3.1", 5 | "license": "MIT", 6 | "author": { 7 | "name": "tga", 8 | "email": "tga@space55.xyz" 9 | }, 10 | "type": "module", 11 | "module": "dist/index.js", 12 | "main": "dist/index.cjs", 13 | "types": "dist/index.d.ts", 14 | "exports": { 15 | "import": "./dist/index.js", 16 | "require": "./dist/index.cjs" 17 | }, 18 | "scripts": { 19 | "dev": "vite ./dev", 20 | "build": "cm-buildhelper src/interact.ts", 21 | "test": "cm-runtests", 22 | "prepare": "npm run build" 23 | }, 24 | "files": [ 25 | "dist/", 26 | "src/" 27 | ], 28 | "peerDependencies": { 29 | "@codemirror/state": "^6.0.0", 30 | "@codemirror/view": "^6.0.0" 31 | }, 32 | "devDependencies": { 33 | "@codemirror/buildhelper": "^0.1.16", 34 | "@codemirror/lang-javascript": "^6.0.0", 35 | "@codemirror/view": "^6.0.0", 36 | "codemirror": "^6.0.0", 37 | "vite": "^3.0.0" 38 | }, 39 | "dependencies": { 40 | "@codemirror/state": "^6.2.1" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CodeMirror Interact 2 | 3 | Run on Replit badge 4 | NPM version badge 5 | 6 | A CodeMirror extension that lets you interact with different values (clicking, dragging, etc). 7 | 8 | https://user-images.githubusercontent.com/9929523/147966613-270cdece-564f-4906-b6e8-b48975a0d9e2.mp4 9 | 10 | [demo](https://replit.com/@util/codemirror-interact) 11 | 12 | ### Usage 13 | 14 | ```ts 15 | import { EditorState } from '@codemirror/state'; 16 | import { EditorView } from '@codemirror/view'; 17 | import interact from '@replit/codemirror-interact'; 18 | 19 | // hold Alt and drag / click values 20 | new EditorView({ 21 | state: EditorState.create({ 22 | doc: 'const num = 123', 23 | extensions: [ 24 | interact({ 25 | rules: [ 26 | // a rule for a number dragger 27 | { 28 | // the regexp matching the value 29 | regexp: /-?\b\d+\.?\d*\b/g, 30 | // set cursor to "ew-resize" on hover 31 | cursor: "ew-resize", 32 | // change number value based on mouse X movement on drag 33 | onDrag: (text, setText, e) => { 34 | const newVal = Number(text) + e.movementX; 35 | if (isNaN(newVal)) return; 36 | setText(newVal.toString()); 37 | }, 38 | } 39 | ], 40 | }), 41 | ], 42 | }), 43 | parent: document.querySelector('#editor'), 44 | }); 45 | -------------------------------------------------------------------------------- /dev/index.ts: -------------------------------------------------------------------------------- 1 | // 1. move cursor on different values 2 | // 2. hold Alt key 3 | // 3. click / drag 4 | import { basicSetup } from 'codemirror'; 5 | import { EditorView } from '@codemirror/view'; 6 | import { EditorState } from '@codemirror/state'; 7 | import { javascript } from '@codemirror/lang-javascript'; 8 | import interact from '../src/interact'; 9 | 10 | const doc = ` 11 | // hold Alt and drag / click values 12 | const a = 123 13 | const b = vec2(20, 80) 14 | const c = vec2(60) 15 | const d = rgb(128, 128, 255) 16 | const e = false 17 | const f = 'http://example.com' 18 | `.trim(); 19 | 20 | const theme = EditorView.theme({ 21 | '.cm-interact-url > *': { 22 | textDecoration: 'underline' 23 | } 24 | }) 25 | 26 | new EditorView({ 27 | state: EditorState.create({ 28 | doc, 29 | extensions: [ 30 | basicSetup, 31 | javascript(), 32 | theme, 33 | interact({ 34 | rules: [ 35 | { 36 | regexp: /-?\b\d+\.?\d*\b/g, 37 | cursor: 'ew-resize', 38 | onDrag: (text, setText, e) => { 39 | // TODO: size aware 40 | // TODO: small interval with shift key? 41 | const newVal = Number(text) + e.movementX; 42 | if (isNaN(newVal)) return; 43 | setText(newVal.toString()); 44 | }, 45 | }, 46 | // bool toggler 47 | { 48 | regexp: /true|false/g, 49 | cursor: 'pointer', 50 | onClick: (text, setText) => { 51 | switch (text) { 52 | case 'true': return setText('false'); 53 | case 'false': return setText('true'); 54 | } 55 | }, 56 | }, 57 | // kaboom vec2 slider 58 | { 59 | regexp: /vec2\(-?\b\d+\.?\d*\b\s*(,\s*-?\b\d+\.?\d*\b)?\)/g, 60 | cursor: "move", 61 | onDrag: (text, setText, e) => { 62 | const res = /vec2\((?-?\b\d+\.?\d*\b)\s*(,\s*(?-?\b\d+\.?\d*\b))?\)/.exec(text); 63 | let x = Number(res?.groups?.x); 64 | let y = Number(res?.groups?.y); 65 | if (isNaN(x)) return; 66 | if (isNaN(y)) y = x; 67 | setText(`vec2(${x + e.movementX}, ${y + e.movementY})`); 68 | }, 69 | }, 70 | // kaboom color picker 71 | { 72 | regexp: /rgb\(.*\)/g, 73 | cursor: "pointer", 74 | onClick: (text, setText, e) => { 75 | const res = /rgb\((?\d+)\s*,\s*(?\d+)\s*,\s*(?\d+)\)/.exec(text); 76 | const r = Number(res?.groups?.r); 77 | const g = Number(res?.groups?.g); 78 | const b = Number(res?.groups?.b); 79 | const sel = document.createElement("input"); 80 | sel.type = "color"; 81 | if (!isNaN(r + g + b)) sel.value = rgb2hex(r, g, b); 82 | sel.addEventListener("change", (e) => { 83 | const el = e.target as HTMLInputElement; 84 | if (el.value) { 85 | const [r, g, b] = hex2rgb(el.value); 86 | setText(`rgb(${r}, ${g}, ${b})`) 87 | } 88 | }); 89 | sel.click(); 90 | }, 91 | }, 92 | // url clicker 93 | { 94 | regexp: /https?:\/\/[^ "']+/g, 95 | cursor: "pointer", 96 | className: "cm-interact-url", 97 | onClick: (text) => { 98 | window.open(text); 99 | }, 100 | }, 101 | ], 102 | }), 103 | ], 104 | }), 105 | parent: document.querySelector('#editor') as Element, 106 | }); 107 | 108 | const hex2rgb = (hex: string): [number, number, number] => { 109 | const v = parseInt(hex.substring(1), 16); 110 | return [ 111 | (v >> 16) & 255, 112 | (v >> 8) & 255, 113 | v & 255, 114 | ]; 115 | } 116 | 117 | const rgb2hex = (r: number, g: number, b: number): string => 118 | '#' + r.toString(16) + g.toString(16) + b.toString(16); 119 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | /* Basic Options */ 5 | // "incremental": true, /* Enable incremental compilation */ 6 | "target": "ESNEXT", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */ 7 | "module": "ESNext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ 8 | // "lib": [], /* Specify library files to be included in the compilation. */ 9 | // "allowJs": true, /* Allow javascript files to be compiled. */ 10 | // "checkJs": true, /* Report errors in .js files. */ 11 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ 12 | // "declaration": true, /* Generates corresponding '.d.ts' file. */ 13 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 14 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 15 | // "outFile": "./", /* Concatenate and emit output to single file. */ 16 | // "outDir": "./", /* Redirect output structure to the directory. */ 17 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 18 | // "composite": true, /* Enable project compilation */ 19 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 20 | // "removeComments": true, /* Do not emit comments to output. */ 21 | "noEmit": true, /* Do not emit outputs. */ 22 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 23 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 24 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 25 | /* Strict Type-Checking Options */ 26 | "strict": true, /* Enable all strict type-checking options. */ 27 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 28 | // "strictNullChecks": true, /* Enable strict null checks. */ 29 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 30 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 31 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 32 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 33 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 34 | /* Additional Checks */ 35 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 36 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 37 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 38 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 39 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 40 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */ 41 | // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ 42 | /* Module Resolution Options */ 43 | "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 44 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 45 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 46 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 47 | "typeRoots": [ 48 | "./node_modules/@types", 49 | ], /* List of folders to include type definitions from. */ 50 | // "types": [], /* Type declaration files to be included in compilation. */ 51 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 52 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 53 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 54 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 55 | /* Experimental Options */ 56 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 57 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 58 | /* Advanced Options */ 59 | "skipLibCheck": true, /* Skip type checking of declaration files. */ 60 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 61 | }, 62 | "exclude": [ 63 | "node_modules", 64 | ".build" 65 | ] 66 | } -------------------------------------------------------------------------------- /src/interact.ts: -------------------------------------------------------------------------------- 1 | // TODO: custom style 2 | // TODO: custom state for each rule? 3 | import { 4 | EditorView, 5 | ViewPlugin, 6 | PluginValue, 7 | Decoration, 8 | } from '@codemirror/view' 9 | import { 10 | StateEffect, 11 | StateField, 12 | Facet, 13 | MapMode, 14 | } from '@codemirror/state' 15 | 16 | interface Target { 17 | pos: number, 18 | text: string, 19 | rule: InteractRule, 20 | } 21 | 22 | export interface InteractRule { 23 | regexp: RegExp, 24 | cursor?: string, 25 | style?: any, 26 | className?: string, 27 | onClick?: (text: string, setText: (t: string) => void, e: MouseEvent) => void, 28 | onDrag?: (text: string, setText: (t: string) => void, e: MouseEvent) => void, 29 | onDragStart?: (text: string, setText: (t: string) => void, e: MouseEvent) => void, 30 | onDragEnd?: (text: string, setText: (t: string) => void) => void, 31 | } 32 | 33 | const interactField = StateField.define({ 34 | create: () => null, 35 | update: (value, tr) => { 36 | for (const e of tr.effects) { 37 | if (e.is(setInteract)) { 38 | return e.value; 39 | } 40 | } 41 | 42 | if (!value) { 43 | return null 44 | } 45 | 46 | if (!tr.changes.empty) { 47 | const newPos = tr.changes.mapPos(value.pos, -1, MapMode.TrackDel) 48 | const newEnd = tr.changes.mapPos(value.pos + value.text.length, -1, MapMode.TrackDel) 49 | 50 | if (newPos === null || newEnd === null) { 51 | return null 52 | } 53 | 54 | // if the text doesn't match anymore, we'll just return null 55 | // rather than checking if the rule matches again 56 | if (tr.newDoc.sliceString(newPos, newEnd) !== value.text) { 57 | return null 58 | } 59 | 60 | return { ...value, pos: newPos } 61 | } 62 | 63 | return value 64 | }, 65 | 66 | provide: (field) => [ 67 | EditorView.decorations.from(field, (target) => { 68 | if (!target) { 69 | return Decoration.none 70 | } 71 | 72 | const from = target.pos; 73 | const to = target.pos + target.text.length; 74 | const className = target.rule.className; 75 | 76 | return Decoration.set(mark({ className }).range(from, to)) 77 | }), 78 | EditorView.contentAttributes.from(field, (target) => { 79 | if (!target || !target.rule.cursor) { 80 | return { style: '' } 81 | } 82 | 83 | return { style: `cursor: ${target.rule.cursor}` } 84 | }), 85 | ] 86 | }) 87 | 88 | const setInteract = StateEffect.define(); 89 | 90 | const mark = (e: { className?: string }) => Decoration.mark({ 91 | class: `cm-interact ${e?.className ?? ''}` 92 | }); 93 | 94 | 95 | const interactTheme = EditorView.theme({ 96 | '.cm-interact': { 97 | background: 'rgba(128, 128, 255, 0.2)', 98 | borderRadius: '4px' 99 | }, 100 | }); 101 | 102 | /** 103 | * A rule that defines a type of value and its interaction. 104 | * 105 | * @example 106 | * ``` 107 | * // a number dragger 108 | * interactRule.of({ 109 | * // the regexp matching the value 110 | * regexp: /-?\b\d+\.?\d*\b/g, 111 | * // set cursor to 'ew-resize'on hover 112 | * cursor: 'ew-resize' 113 | * // change number value based on mouse X movement on drag 114 | * onDrag: (text, setText, e) => { 115 | * const newVal = Number(text) + e.movementX; 116 | * if (isNaN(newVal)) return; 117 | * setText(newVal.toString()); 118 | * }, 119 | * }) 120 | * ``` 121 | */ 122 | export const interactRule = Facet.define(); 123 | 124 | export const interactModKey = Facet.define({ 125 | combine: (values) => values[values.length - 1], 126 | }); 127 | 128 | interface ViewState extends PluginValue { 129 | target: Target | null, 130 | dragging: boolean, 131 | mouseX: number, 132 | mouseY: number, 133 | getMatch(): Target | null, 134 | updateText(target: Target): (text: string) => void, 135 | setTarget(target: Target | null): void, 136 | isModKeyDown(e: KeyboardEvent | MouseEvent): boolean, 137 | startDrag(e: MouseEvent): void, 138 | endDrag(): void, 139 | } 140 | 141 | const interactViewPlugin = ViewPlugin.define((view) => ({ 142 | 143 | target: null, 144 | dragging: false, 145 | mouseX: 0, 146 | mouseY: 0, 147 | 148 | // Get current match under cursor from all rules 149 | getMatch() { 150 | 151 | const rules = view.state.facet(interactRule); 152 | const pos = view.posAtCoords({ x: this.mouseX, y: this.mouseY }); 153 | if (!pos) return null; 154 | const line = view.state.doc.lineAt(pos); 155 | const lpos = pos - line.from; 156 | let match = null; 157 | 158 | for (const rule of rules) { 159 | for (const m of line.text.matchAll(rule.regexp)) { 160 | if (m.index === undefined) continue; 161 | const text = m[0]; 162 | if (!text) continue; 163 | const start = m.index; 164 | const end = m.index + text.length; 165 | if (lpos < start || lpos > end) continue; 166 | // If there are overlap matches from different rules, use the smaller one 167 | if (!match || text.length < match.text.length) { 168 | match = { 169 | rule: rule, 170 | pos: line.from + start, 171 | text: text, 172 | }; 173 | } 174 | } 175 | } 176 | 177 | return match; 178 | }, 179 | 180 | updateText(target) { 181 | return (text) => { 182 | view.dispatch({ 183 | effects: setInteract.of({ ...target, text }), 184 | changes: { 185 | from: target.pos, 186 | to: target.pos + target.text.length, 187 | insert: text, 188 | }, 189 | }); 190 | }; 191 | }, 192 | 193 | setTarget(target) { 194 | this.target = target; 195 | view.dispatch({ effects: setInteract.of(target) }); 196 | }, 197 | 198 | isModKeyDown(e) { 199 | const modkey = view.state.facet(interactModKey); 200 | 201 | const isMac = Boolean(window.navigator) && 202 | window.navigator.userAgent.includes('Macintosh'); 203 | 204 | switch (modkey) { 205 | case "alt": return e.altKey; 206 | case "shift": return e.shiftKey; 207 | case "ctrl": return e.ctrlKey; 208 | case "meta": return e.metaKey; 209 | case "mod": return isMac ? e.metaKey : e.ctrlKey; 210 | } 211 | 212 | throw new Error(`Invalid mod key: ${modkey}`) 213 | }, 214 | 215 | update(update) { 216 | const target = update.state.field(interactField, false) 217 | 218 | // the field isn't mounted 219 | if (target === undefined) { 220 | return 221 | } 222 | 223 | if (this.target !== target) { 224 | this.target = target 225 | if (target === null) { 226 | this.endDrag(); 227 | } 228 | } 229 | }, 230 | 231 | startDrag(e: MouseEvent) { 232 | if (this.dragging) return 233 | if (!this.target) return; 234 | this.dragging = true 235 | if (!this.target.rule.onDragStart) return; 236 | this.target.rule.onDragStart(this.target.text, this.updateText(this.target), e); 237 | }, 238 | 239 | endDrag() { 240 | if (!this.dragging) return 241 | this.dragging = false 242 | if (!this.target?.rule.onDragEnd) return; 243 | this.target.rule.onDragEnd(this.target.text, this.updateText(this.target)); 244 | }, 245 | 246 | }), { 247 | eventHandlers: { 248 | mousedown(e, _view) { 249 | if (!this.isModKeyDown(e)) return; 250 | if (!this.target) return; 251 | 252 | e.preventDefault(); 253 | 254 | if (this.target.rule.onClick) { 255 | this.target.rule.onClick( 256 | this.target.text, 257 | (text) => { 258 | this.target && this.updateText(this.target)(text); 259 | }, 260 | e 261 | ); 262 | } 263 | 264 | if (this.target.rule.onDrag) { 265 | this.startDrag(e); 266 | } 267 | }, 268 | 269 | mousemove(e, _view) { 270 | this.mouseX = e.clientX; 271 | this.mouseY = e.clientY; 272 | 273 | if (!this.isModKeyDown(e)) { 274 | if (this.target) { 275 | this.setTarget(null); 276 | } 277 | 278 | return 279 | } 280 | 281 | if (this.target && this.dragging) { 282 | if (this.target.rule.onDrag) { 283 | this.target.rule.onDrag(this.target.text, this.updateText(this.target), e); 284 | } 285 | } else { 286 | this.setTarget(this.getMatch()); 287 | } 288 | 289 | }, 290 | 291 | mouseup(e, _view) { 292 | this.endDrag(); 293 | 294 | if (this.target && !this.isModKeyDown(e)) { 295 | this.setTarget(null) 296 | } 297 | 298 | if (this.isModKeyDown(e)) { 299 | this.setTarget(this.getMatch()); 300 | } 301 | }, 302 | 303 | mouseleave(e, _view) { 304 | this.endDrag(); 305 | if (this.target) { 306 | this.setTarget(null) 307 | } 308 | }, 309 | 310 | // TODO: fix these keybindings 311 | // these currently don't do anything because CodeMirror's keybinding 312 | // system prevents these events from firing. 313 | 314 | keydown(e, _view) { 315 | if (!this.target && this.isModKeyDown(e)) { 316 | this.setTarget(this.getMatch()); 317 | } 318 | }, 319 | 320 | keyup(e, _view) { 321 | if (this.target && !this.isModKeyDown(e)) { 322 | this.endDrag(); 323 | this.setTarget(null) 324 | } 325 | }, 326 | 327 | }, 328 | }) 329 | 330 | type ModKey = 331 | | "alt" 332 | | "shift" 333 | | "meta" 334 | | "ctrl" 335 | | "mod"; 336 | 337 | interface InteractConfig { 338 | rules?: InteractRule[], 339 | key?: ModKey, 340 | } 341 | 342 | const interact = (cfg: InteractConfig = {}) => [ 343 | interactField, 344 | interactTheme, 345 | interactViewPlugin, 346 | interactModKey.of(cfg.key ?? "alt"), 347 | (cfg.rules ?? []).map((r) => interactRule.of(r)), 348 | ]; 349 | 350 | export default interact; 351 | -------------------------------------------------------------------------------- /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.13": 6 | version "7.18.6" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 8 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 9 | dependencies: 10 | "@babel/highlight" "^7.18.6" 11 | 12 | "@babel/helper-validator-identifier@^7.18.6": 13 | version "7.18.6" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" 15 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 16 | 17 | "@babel/highlight@^7.18.6": 18 | version "7.18.6" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 20 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.18.6" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@codemirror/autocomplete@^6.0.0": 27 | version "6.1.0" 28 | resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.1.0.tgz#7d3ca6d49e3a71cfd366c0af16172f5c128376eb" 29 | integrity sha512-wtO4O5WDyXhhCd4q4utDIDZxnQfmJ++3dGBCG9LMtI79+92OcA1DVk/n7BEupKmjIr8AzvptDz7YQ9ud6OkU+A== 30 | dependencies: 31 | "@codemirror/language" "^6.0.0" 32 | "@codemirror/state" "^6.0.0" 33 | "@codemirror/view" "^6.0.0" 34 | "@lezer/common" "^1.0.0" 35 | 36 | "@codemirror/buildhelper@^0.1.16": 37 | version "0.1.16" 38 | resolved "https://registry.yarnpkg.com/@codemirror/buildhelper/-/buildhelper-0.1.16.tgz#bda138522fdade53d63f457c440b64be48c7fa71" 39 | integrity sha512-b88pPVoLoBp3DHe+CK5p/1t/WFGYRGxn69d9Efp/cEP3uF91hXTIKOimaL3IyVhm9q6ILjKzn8q8MFUUy7GvwA== 40 | dependencies: 41 | "@lezer/generator" "^1.0.0" 42 | "@types/mocha" "^9.1.1" 43 | acorn "^8.1.0" 44 | acorn-walk "^8.0.2" 45 | esmoduleserve "^0.2.0" 46 | ist "^1.1.7" 47 | mocha "^10.0.0" 48 | rollup "^2.35.1" 49 | rollup-plugin-dts "^3.0.0" 50 | selenium-webdriver "^4.0.0-beta.3" 51 | serve-static "^1.14.1" 52 | typescript "^4.2.3" 53 | 54 | "@codemirror/commands@^6.0.0": 55 | version "6.1.0" 56 | resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.1.0.tgz#c9da851f419f25dae400d7cd94f80b80ef060696" 57 | integrity sha512-qCj2YqmbBjj0P1iumnlL5lBqZvJPzT+t2UvgjcaXErp5ZvMqFRVgQyrEfdXX6SX5UcvcHKBjXqno+MkUp0aYvQ== 58 | dependencies: 59 | "@codemirror/language" "^6.0.0" 60 | "@codemirror/state" "^6.0.0" 61 | "@codemirror/view" "^6.0.0" 62 | "@lezer/common" "^1.0.0" 63 | 64 | "@codemirror/lang-javascript@^6.0.0": 65 | version "6.0.2" 66 | resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.0.2.tgz#1468de7898c2fd477cfdd24207e62c7af822d234" 67 | integrity sha512-BZRJ9u/zl16hLkSpDAWm73mrfIR7HJrr0lvnhoSOCQVea5BglguWI/slxexhvUb0CB5cXgKWuo2bM+N9EhIaZw== 68 | dependencies: 69 | "@codemirror/autocomplete" "^6.0.0" 70 | "@codemirror/language" "^6.0.0" 71 | "@codemirror/lint" "^6.0.0" 72 | "@codemirror/state" "^6.0.0" 73 | "@codemirror/view" "^6.0.0" 74 | "@lezer/common" "^1.0.0" 75 | "@lezer/javascript" "^1.0.0" 76 | 77 | "@codemirror/language@^6.0.0": 78 | version "6.2.1" 79 | resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.2.1.tgz#cb10cd785a76e50ecd2fe2dc59ff66af8a41b87a" 80 | integrity sha512-MC3svxuvIj0MRpFlGHxLS6vPyIdbTr2KKPEW46kCoCXw2ktb4NTkpkPBI/lSP/FoNXLCBJ0mrnUi1OoZxtpW1Q== 81 | dependencies: 82 | "@codemirror/state" "^6.0.0" 83 | "@codemirror/view" "^6.0.0" 84 | "@lezer/common" "^1.0.0" 85 | "@lezer/highlight" "^1.0.0" 86 | "@lezer/lr" "^1.0.0" 87 | style-mod "^4.0.0" 88 | 89 | "@codemirror/lint@^6.0.0": 90 | version "6.0.0" 91 | resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.0.0.tgz#a249b021ac9933b94fe312d994d220f0ef11a157" 92 | integrity sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA== 93 | dependencies: 94 | "@codemirror/state" "^6.0.0" 95 | "@codemirror/view" "^6.0.0" 96 | crelt "^1.0.5" 97 | 98 | "@codemirror/search@^6.0.0": 99 | version "6.2.0" 100 | resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.2.0.tgz#05742292c8414dfcf86bd27ef2908d43620f79d2" 101 | integrity sha512-FVhpUvPFUJe8lg2EQJTTcF4RNI9d/OC3PVitvOfhv5OuY7ZgtMfJl22o5eMkzOEsUY2Wxe7BKGLpe2UI5Wq3PQ== 102 | dependencies: 103 | "@codemirror/state" "^6.0.0" 104 | "@codemirror/view" "^6.0.0" 105 | crelt "^1.0.5" 106 | 107 | "@codemirror/state@^6.0.0", "@codemirror/state@^6.1.4", "@codemirror/state@^6.2.1": 108 | version "6.2.1" 109 | resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.2.1.tgz#6dc8d8e5abb26b875e3164191872d69a5e85bd73" 110 | integrity sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw== 111 | 112 | "@codemirror/view@^6.0.0": 113 | version "6.14.1" 114 | resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.14.1.tgz#22cbc9b95887c996d1e886e6a85a8bb353cacce6" 115 | integrity sha512-ofcsI7lRFo4N0rfnd+V3Gh2boQU3DmaaSKhDOvXUWjeOeuupMXer2e/3i9TUFN7aEIntv300EFBWPEiYVm2svg== 116 | dependencies: 117 | "@codemirror/state" "^6.1.4" 118 | style-mod "^4.0.0" 119 | w3c-keyname "^2.2.4" 120 | 121 | "@esbuild/android-arm@0.15.18": 122 | version "0.15.18" 123 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80" 124 | integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw== 125 | 126 | "@esbuild/linux-loong64@0.15.18": 127 | version "0.15.18" 128 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239" 129 | integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ== 130 | 131 | "@lezer/common@^1.0.0": 132 | version "1.0.0" 133 | resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.0.0.tgz#1c95ae53ec17706aa3cbcc88b52c23f22ed56096" 134 | integrity sha512-ohydQe+Hb+w4oMDvXzs8uuJd2NoA3D8YDcLiuDsLqH+yflDTPEpgCsWI3/6rH5C3BAedtH1/R51dxENldQceEA== 135 | 136 | "@lezer/generator@^1.0.0": 137 | version "1.1.1" 138 | resolved "https://registry.yarnpkg.com/@lezer/generator/-/generator-1.1.1.tgz#c4708b2b12de27f10bf7de4596f96deabac51808" 139 | integrity sha512-GrB5EwOn09yf5YfDk6TcspHcF7PQZP83665moY5VmOURwCmNOx+Qit3mwp7W/EsGpqd4PPRioxNkYwYZii69cw== 140 | dependencies: 141 | "@lezer/common" "^1.0.0" 142 | "@lezer/lr" "^1.0.0" 143 | 144 | "@lezer/highlight@^1.0.0": 145 | version "1.0.0" 146 | resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.0.0.tgz#1dc82300f5d39fbd67ae1194b5519b4c381878d3" 147 | integrity sha512-nsCnNtim90UKsB5YxoX65v3GEIw3iCHw9RM2DtdgkiqAbKh9pCdvi8AWNwkYf10Lu6fxNhXPpkpHbW6mihhvJA== 148 | dependencies: 149 | "@lezer/common" "^1.0.0" 150 | 151 | "@lezer/javascript@^1.0.0": 152 | version "1.0.2" 153 | resolved "https://registry.yarnpkg.com/@lezer/javascript/-/javascript-1.0.2.tgz#79b5c2c77e27322a0ae516395a193574b9ad3f5e" 154 | integrity sha512-IjOVeIRhM8IuafWNnk+UzRz7p4/JSOKBNINLYLsdSGuJS9Ju7vFdc82AlTt0jgtV5D8eBZf4g0vK4d3ttBNz7A== 155 | dependencies: 156 | "@lezer/highlight" "^1.0.0" 157 | "@lezer/lr" "^1.0.0" 158 | 159 | "@lezer/lr@^1.0.0": 160 | version "1.2.3" 161 | resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.2.3.tgz#f44ca844f15f6762fde4eab877d110567e34ffa1" 162 | integrity sha512-qpB7rBzH8f6Mzjv2AVZRahcm+2Cf7nbIH++uXbvVOL1yIRvVWQ3HAM/saeBLCyz/togB7LGo76qdJYL1uKQlqA== 163 | dependencies: 164 | "@lezer/common" "^1.0.0" 165 | 166 | "@types/mocha@^9.1.1": 167 | version "9.1.1" 168 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4" 169 | integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== 170 | 171 | "@ungap/promise-all-settled@1.1.2": 172 | version "1.1.2" 173 | resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" 174 | integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== 175 | 176 | acorn-walk@^8.0.0, acorn-walk@^8.0.2: 177 | version "8.2.0" 178 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" 179 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 180 | 181 | acorn@^8.0.4, acorn@^8.1.0: 182 | version "8.8.0" 183 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" 184 | integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== 185 | 186 | ansi-colors@4.1.1: 187 | version "4.1.1" 188 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 189 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 190 | 191 | ansi-regex@^5.0.1: 192 | version "5.0.1" 193 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 194 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 195 | 196 | ansi-styles@^3.2.1: 197 | version "3.2.1" 198 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 199 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 200 | dependencies: 201 | color-convert "^1.9.0" 202 | 203 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 204 | version "4.3.0" 205 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 206 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 207 | dependencies: 208 | color-convert "^2.0.1" 209 | 210 | anymatch@~3.1.2: 211 | version "3.1.2" 212 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 213 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 214 | dependencies: 215 | normalize-path "^3.0.0" 216 | picomatch "^2.0.4" 217 | 218 | argparse@^2.0.1: 219 | version "2.0.1" 220 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 221 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 222 | 223 | balanced-match@^1.0.0: 224 | version "1.0.2" 225 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 226 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 227 | 228 | binary-extensions@^2.0.0: 229 | version "2.2.0" 230 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 231 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 232 | 233 | brace-expansion@^1.1.7: 234 | version "1.1.11" 235 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 236 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 237 | dependencies: 238 | balanced-match "^1.0.0" 239 | concat-map "0.0.1" 240 | 241 | brace-expansion@^2.0.1: 242 | version "2.0.1" 243 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 244 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 245 | dependencies: 246 | balanced-match "^1.0.0" 247 | 248 | braces@~3.0.2: 249 | version "3.0.2" 250 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 251 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 252 | dependencies: 253 | fill-range "^7.0.1" 254 | 255 | browser-stdout@1.3.1: 256 | version "1.3.1" 257 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 258 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 259 | 260 | camelcase@^6.0.0: 261 | version "6.3.0" 262 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 263 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 264 | 265 | chalk@^2.0.0: 266 | version "2.4.2" 267 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 268 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 269 | dependencies: 270 | ansi-styles "^3.2.1" 271 | escape-string-regexp "^1.0.5" 272 | supports-color "^5.3.0" 273 | 274 | chalk@^4.1.0: 275 | version "4.1.2" 276 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 277 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 278 | dependencies: 279 | ansi-styles "^4.1.0" 280 | supports-color "^7.1.0" 281 | 282 | chokidar@3.5.3: 283 | version "3.5.3" 284 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 285 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 286 | dependencies: 287 | anymatch "~3.1.2" 288 | braces "~3.0.2" 289 | glob-parent "~5.1.2" 290 | is-binary-path "~2.1.0" 291 | is-glob "~4.0.1" 292 | normalize-path "~3.0.0" 293 | readdirp "~3.6.0" 294 | optionalDependencies: 295 | fsevents "~2.3.2" 296 | 297 | cliui@^7.0.2: 298 | version "7.0.4" 299 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 300 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 301 | dependencies: 302 | string-width "^4.2.0" 303 | strip-ansi "^6.0.0" 304 | wrap-ansi "^7.0.0" 305 | 306 | codemirror@^6.0.0: 307 | version "6.0.1" 308 | resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-6.0.1.tgz#62b91142d45904547ee3e0e0e4c1a79158035a29" 309 | integrity sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg== 310 | dependencies: 311 | "@codemirror/autocomplete" "^6.0.0" 312 | "@codemirror/commands" "^6.0.0" 313 | "@codemirror/language" "^6.0.0" 314 | "@codemirror/lint" "^6.0.0" 315 | "@codemirror/search" "^6.0.0" 316 | "@codemirror/state" "^6.0.0" 317 | "@codemirror/view" "^6.0.0" 318 | 319 | color-convert@^1.9.0: 320 | version "1.9.3" 321 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 322 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 323 | dependencies: 324 | color-name "1.1.3" 325 | 326 | color-convert@^2.0.1: 327 | version "2.0.1" 328 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 329 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 330 | dependencies: 331 | color-name "~1.1.4" 332 | 333 | color-name@1.1.3: 334 | version "1.1.3" 335 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 336 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 337 | 338 | color-name@~1.1.4: 339 | version "1.1.4" 340 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 341 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 342 | 343 | concat-map@0.0.1: 344 | version "0.0.1" 345 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 346 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 347 | 348 | core-util-is@~1.0.0: 349 | version "1.0.3" 350 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 351 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 352 | 353 | crelt@^1.0.5: 354 | version "1.0.5" 355 | resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.5.tgz#57c0d52af8c859e354bace1883eb2e1eb182bb94" 356 | integrity sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA== 357 | 358 | debug@2.6.9: 359 | version "2.6.9" 360 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 361 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 362 | dependencies: 363 | ms "2.0.0" 364 | 365 | debug@4.3.4: 366 | version "4.3.4" 367 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 368 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 369 | dependencies: 370 | ms "2.1.2" 371 | 372 | decamelize@^4.0.0: 373 | version "4.0.0" 374 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" 375 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== 376 | 377 | depd@2.0.0: 378 | version "2.0.0" 379 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 380 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 381 | 382 | destroy@1.2.0: 383 | version "1.2.0" 384 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" 385 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 386 | 387 | diff@5.0.0: 388 | version "5.0.0" 389 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" 390 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 391 | 392 | ee-first@1.1.1: 393 | version "1.1.1" 394 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 395 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 396 | 397 | emoji-regex@^8.0.0: 398 | version "8.0.0" 399 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 400 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 401 | 402 | encodeurl@~1.0.2: 403 | version "1.0.2" 404 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 405 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 406 | 407 | esbuild-android-64@0.15.18: 408 | version "0.15.18" 409 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" 410 | integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA== 411 | 412 | esbuild-android-arm64@0.15.18: 413 | version "0.15.18" 414 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04" 415 | integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ== 416 | 417 | esbuild-darwin-64@0.15.18: 418 | version "0.15.18" 419 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410" 420 | integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg== 421 | 422 | esbuild-darwin-arm64@0.15.18: 423 | version "0.15.18" 424 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337" 425 | integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== 426 | 427 | esbuild-freebsd-64@0.15.18: 428 | version "0.15.18" 429 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2" 430 | integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA== 431 | 432 | esbuild-freebsd-arm64@0.15.18: 433 | version "0.15.18" 434 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635" 435 | integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA== 436 | 437 | esbuild-linux-32@0.15.18: 438 | version "0.15.18" 439 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce" 440 | integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg== 441 | 442 | esbuild-linux-64@0.15.18: 443 | version "0.15.18" 444 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c" 445 | integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw== 446 | 447 | esbuild-linux-arm64@0.15.18: 448 | version "0.15.18" 449 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d" 450 | integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug== 451 | 452 | esbuild-linux-arm@0.15.18: 453 | version "0.15.18" 454 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc" 455 | integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA== 456 | 457 | esbuild-linux-mips64le@0.15.18: 458 | version "0.15.18" 459 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb" 460 | integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ== 461 | 462 | esbuild-linux-ppc64le@0.15.18: 463 | version "0.15.18" 464 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507" 465 | integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w== 466 | 467 | esbuild-linux-riscv64@0.15.18: 468 | version "0.15.18" 469 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6" 470 | integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg== 471 | 472 | esbuild-linux-s390x@0.15.18: 473 | version "0.15.18" 474 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb" 475 | integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ== 476 | 477 | esbuild-netbsd-64@0.15.18: 478 | version "0.15.18" 479 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998" 480 | integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg== 481 | 482 | esbuild-openbsd-64@0.15.18: 483 | version "0.15.18" 484 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8" 485 | integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ== 486 | 487 | esbuild-sunos-64@0.15.18: 488 | version "0.15.18" 489 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971" 490 | integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw== 491 | 492 | esbuild-windows-32@0.15.18: 493 | version "0.15.18" 494 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3" 495 | integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ== 496 | 497 | esbuild-windows-64@0.15.18: 498 | version "0.15.18" 499 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0" 500 | integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw== 501 | 502 | esbuild-windows-arm64@0.15.18: 503 | version "0.15.18" 504 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7" 505 | integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ== 506 | 507 | esbuild@^0.15.9: 508 | version "0.15.18" 509 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d" 510 | integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q== 511 | optionalDependencies: 512 | "@esbuild/android-arm" "0.15.18" 513 | "@esbuild/linux-loong64" "0.15.18" 514 | esbuild-android-64 "0.15.18" 515 | esbuild-android-arm64 "0.15.18" 516 | esbuild-darwin-64 "0.15.18" 517 | esbuild-darwin-arm64 "0.15.18" 518 | esbuild-freebsd-64 "0.15.18" 519 | esbuild-freebsd-arm64 "0.15.18" 520 | esbuild-linux-32 "0.15.18" 521 | esbuild-linux-64 "0.15.18" 522 | esbuild-linux-arm "0.15.18" 523 | esbuild-linux-arm64 "0.15.18" 524 | esbuild-linux-mips64le "0.15.18" 525 | esbuild-linux-ppc64le "0.15.18" 526 | esbuild-linux-riscv64 "0.15.18" 527 | esbuild-linux-s390x "0.15.18" 528 | esbuild-netbsd-64 "0.15.18" 529 | esbuild-openbsd-64 "0.15.18" 530 | esbuild-sunos-64 "0.15.18" 531 | esbuild-windows-32 "0.15.18" 532 | esbuild-windows-64 "0.15.18" 533 | esbuild-windows-arm64 "0.15.18" 534 | 535 | escalade@^3.1.1: 536 | version "3.1.1" 537 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 538 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 539 | 540 | escape-html@~1.0.3: 541 | version "1.0.3" 542 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 543 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 544 | 545 | escape-string-regexp@4.0.0: 546 | version "4.0.0" 547 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 548 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 549 | 550 | escape-string-regexp@^1.0.5: 551 | version "1.0.5" 552 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 553 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 554 | 555 | esmoduleserve@^0.2.0: 556 | version "0.2.0" 557 | resolved "https://registry.yarnpkg.com/esmoduleserve/-/esmoduleserve-0.2.0.tgz#01ed56cbee408f624641dab0b2916a54407c891e" 558 | integrity sha512-vg1j7fzKZUFR5TCsYQ3PABfBRMRi6V9K7mxcRh2MftO3gwAHBwYaPHtLHFDsKVSxdHmpu/GgT37lsRT+vezaKQ== 559 | dependencies: 560 | acorn "^8.0.4" 561 | acorn-walk "^8.0.0" 562 | resolve "^1.15.1" 563 | serve-static "^1.14.1" 564 | 565 | etag@~1.8.1: 566 | version "1.8.1" 567 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 568 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 569 | 570 | fill-range@^7.0.1: 571 | version "7.0.1" 572 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 573 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 574 | dependencies: 575 | to-regex-range "^5.0.1" 576 | 577 | find-up@5.0.0: 578 | version "5.0.0" 579 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 580 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 581 | dependencies: 582 | locate-path "^6.0.0" 583 | path-exists "^4.0.0" 584 | 585 | flat@^5.0.2: 586 | version "5.0.2" 587 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 588 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 589 | 590 | fresh@0.5.2: 591 | version "0.5.2" 592 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 593 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 594 | 595 | fs.realpath@^1.0.0: 596 | version "1.0.0" 597 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 598 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 599 | 600 | fsevents@~2.3.2: 601 | version "2.3.2" 602 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 603 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 604 | 605 | function-bind@^1.1.1: 606 | version "1.1.1" 607 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 608 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 609 | 610 | get-caller-file@^2.0.5: 611 | version "2.0.5" 612 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 613 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 614 | 615 | glob-parent@~5.1.2: 616 | version "5.1.2" 617 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 618 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 619 | dependencies: 620 | is-glob "^4.0.1" 621 | 622 | glob@7.2.0: 623 | version "7.2.0" 624 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 625 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 626 | dependencies: 627 | fs.realpath "^1.0.0" 628 | inflight "^1.0.4" 629 | inherits "2" 630 | minimatch "^3.0.4" 631 | once "^1.3.0" 632 | path-is-absolute "^1.0.0" 633 | 634 | glob@^7.1.3: 635 | version "7.2.3" 636 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 637 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 638 | dependencies: 639 | fs.realpath "^1.0.0" 640 | inflight "^1.0.4" 641 | inherits "2" 642 | minimatch "^3.1.1" 643 | once "^1.3.0" 644 | path-is-absolute "^1.0.0" 645 | 646 | has-flag@^3.0.0: 647 | version "3.0.0" 648 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 649 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 650 | 651 | has-flag@^4.0.0: 652 | version "4.0.0" 653 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 654 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 655 | 656 | has@^1.0.3: 657 | version "1.0.3" 658 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 659 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 660 | dependencies: 661 | function-bind "^1.1.1" 662 | 663 | he@1.2.0: 664 | version "1.2.0" 665 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 666 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 667 | 668 | http-errors@2.0.0: 669 | version "2.0.0" 670 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" 671 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 672 | dependencies: 673 | depd "2.0.0" 674 | inherits "2.0.4" 675 | setprototypeof "1.2.0" 676 | statuses "2.0.1" 677 | toidentifier "1.0.1" 678 | 679 | immediate@~3.0.5: 680 | version "3.0.6" 681 | resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" 682 | integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== 683 | 684 | inflight@^1.0.4: 685 | version "1.0.6" 686 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 687 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 688 | dependencies: 689 | once "^1.3.0" 690 | wrappy "1" 691 | 692 | inherits@2, inherits@2.0.4, inherits@~2.0.3: 693 | version "2.0.4" 694 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 695 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 696 | 697 | is-binary-path@~2.1.0: 698 | version "2.1.0" 699 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 700 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 701 | dependencies: 702 | binary-extensions "^2.0.0" 703 | 704 | is-core-module@^2.9.0: 705 | version "2.10.0" 706 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" 707 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 708 | dependencies: 709 | has "^1.0.3" 710 | 711 | is-extglob@^2.1.1: 712 | version "2.1.1" 713 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 714 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 715 | 716 | is-fullwidth-code-point@^3.0.0: 717 | version "3.0.0" 718 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 719 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 720 | 721 | is-glob@^4.0.1, is-glob@~4.0.1: 722 | version "4.0.3" 723 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 724 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 725 | dependencies: 726 | is-extglob "^2.1.1" 727 | 728 | is-number@^7.0.0: 729 | version "7.0.0" 730 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 731 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 732 | 733 | is-plain-obj@^2.1.0: 734 | version "2.1.0" 735 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 736 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 737 | 738 | is-unicode-supported@^0.1.0: 739 | version "0.1.0" 740 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 741 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 742 | 743 | isarray@~1.0.0: 744 | version "1.0.0" 745 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 746 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 747 | 748 | ist@^1.1.7: 749 | version "1.1.7" 750 | resolved "https://registry.yarnpkg.com/ist/-/ist-1.1.7.tgz#64161305bca42937d8e05394a2883c3431c5f7ff" 751 | integrity sha512-ex9JyqY+tCjBlxN1pXlqxEgtGGUGp1TG83ll1xpu8SfPgOhfAhEGCuepNHlB+d7Le+hLoBcfCu/G0ZQaFbi9hA== 752 | 753 | js-tokens@^4.0.0: 754 | version "4.0.0" 755 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 756 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 757 | 758 | js-yaml@4.1.0: 759 | version "4.1.0" 760 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 761 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 762 | dependencies: 763 | argparse "^2.0.1" 764 | 765 | jszip@^3.10.0: 766 | version "3.10.1" 767 | resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" 768 | integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== 769 | dependencies: 770 | lie "~3.3.0" 771 | pako "~1.0.2" 772 | readable-stream "~2.3.6" 773 | setimmediate "^1.0.5" 774 | 775 | lie@~3.3.0: 776 | version "3.3.0" 777 | resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" 778 | integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== 779 | dependencies: 780 | immediate "~3.0.5" 781 | 782 | locate-path@^6.0.0: 783 | version "6.0.0" 784 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 785 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 786 | dependencies: 787 | p-locate "^5.0.0" 788 | 789 | log-symbols@4.1.0: 790 | version "4.1.0" 791 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 792 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 793 | dependencies: 794 | chalk "^4.1.0" 795 | is-unicode-supported "^0.1.0" 796 | 797 | magic-string@^0.25.7: 798 | version "0.25.9" 799 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" 800 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== 801 | dependencies: 802 | sourcemap-codec "^1.4.8" 803 | 804 | mime@1.6.0: 805 | version "1.6.0" 806 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 807 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 808 | 809 | minimatch@5.0.1: 810 | version "5.0.1" 811 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" 812 | integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== 813 | dependencies: 814 | brace-expansion "^2.0.1" 815 | 816 | minimatch@^3.0.4, minimatch@^3.1.1: 817 | version "3.1.2" 818 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 819 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 820 | dependencies: 821 | brace-expansion "^1.1.7" 822 | 823 | mocha@^10.0.0: 824 | version "10.0.0" 825 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.0.0.tgz#205447d8993ec755335c4b13deba3d3a13c4def9" 826 | integrity sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA== 827 | dependencies: 828 | "@ungap/promise-all-settled" "1.1.2" 829 | ansi-colors "4.1.1" 830 | browser-stdout "1.3.1" 831 | chokidar "3.5.3" 832 | debug "4.3.4" 833 | diff "5.0.0" 834 | escape-string-regexp "4.0.0" 835 | find-up "5.0.0" 836 | glob "7.2.0" 837 | he "1.2.0" 838 | js-yaml "4.1.0" 839 | log-symbols "4.1.0" 840 | minimatch "5.0.1" 841 | ms "2.1.3" 842 | nanoid "3.3.3" 843 | serialize-javascript "6.0.0" 844 | strip-json-comments "3.1.1" 845 | supports-color "8.1.1" 846 | workerpool "6.2.1" 847 | yargs "16.2.0" 848 | yargs-parser "20.2.4" 849 | yargs-unparser "2.0.0" 850 | 851 | ms@2.0.0: 852 | version "2.0.0" 853 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 854 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 855 | 856 | ms@2.1.2: 857 | version "2.1.2" 858 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 859 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 860 | 861 | ms@2.1.3: 862 | version "2.1.3" 863 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 864 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 865 | 866 | nanoid@3.3.3: 867 | version "3.3.3" 868 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" 869 | integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== 870 | 871 | nanoid@^3.3.6: 872 | version "3.3.6" 873 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" 874 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== 875 | 876 | normalize-path@^3.0.0, normalize-path@~3.0.0: 877 | version "3.0.0" 878 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 879 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 880 | 881 | on-finished@2.4.1: 882 | version "2.4.1" 883 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" 884 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 885 | dependencies: 886 | ee-first "1.1.1" 887 | 888 | once@^1.3.0: 889 | version "1.4.0" 890 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 891 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 892 | dependencies: 893 | wrappy "1" 894 | 895 | p-limit@^3.0.2: 896 | version "3.1.0" 897 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 898 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 899 | dependencies: 900 | yocto-queue "^0.1.0" 901 | 902 | p-locate@^5.0.0: 903 | version "5.0.0" 904 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 905 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 906 | dependencies: 907 | p-limit "^3.0.2" 908 | 909 | pako@~1.0.2: 910 | version "1.0.11" 911 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" 912 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 913 | 914 | parseurl@~1.3.3: 915 | version "1.3.3" 916 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 917 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 918 | 919 | path-exists@^4.0.0: 920 | version "4.0.0" 921 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 922 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 923 | 924 | path-is-absolute@^1.0.0: 925 | version "1.0.1" 926 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 927 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 928 | 929 | path-parse@^1.0.7: 930 | version "1.0.7" 931 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 932 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 933 | 934 | picocolors@^1.0.0: 935 | version "1.0.0" 936 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 937 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 938 | 939 | picomatch@^2.0.4, picomatch@^2.2.1: 940 | version "2.3.1" 941 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 942 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 943 | 944 | postcss@^8.4.18: 945 | version "8.4.31" 946 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" 947 | integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== 948 | dependencies: 949 | nanoid "^3.3.6" 950 | picocolors "^1.0.0" 951 | source-map-js "^1.0.2" 952 | 953 | process-nextick-args@~2.0.0: 954 | version "2.0.1" 955 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 956 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 957 | 958 | randombytes@^2.1.0: 959 | version "2.1.0" 960 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 961 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 962 | dependencies: 963 | safe-buffer "^5.1.0" 964 | 965 | range-parser@~1.2.1: 966 | version "1.2.1" 967 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 968 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 969 | 970 | readable-stream@~2.3.6: 971 | version "2.3.7" 972 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 973 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 974 | dependencies: 975 | core-util-is "~1.0.0" 976 | inherits "~2.0.3" 977 | isarray "~1.0.0" 978 | process-nextick-args "~2.0.0" 979 | safe-buffer "~5.1.1" 980 | string_decoder "~1.1.1" 981 | util-deprecate "~1.0.1" 982 | 983 | readdirp@~3.6.0: 984 | version "3.6.0" 985 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 986 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 987 | dependencies: 988 | picomatch "^2.2.1" 989 | 990 | require-directory@^2.1.1: 991 | version "2.1.1" 992 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 993 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 994 | 995 | resolve@^1.15.1, resolve@^1.22.1: 996 | version "1.22.1" 997 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 998 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 999 | dependencies: 1000 | is-core-module "^2.9.0" 1001 | path-parse "^1.0.7" 1002 | supports-preserve-symlinks-flag "^1.0.0" 1003 | 1004 | rimraf@^3.0.0: 1005 | version "3.0.2" 1006 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1007 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1008 | dependencies: 1009 | glob "^7.1.3" 1010 | 1011 | rollup-plugin-dts@^3.0.0: 1012 | version "3.0.2" 1013 | resolved "https://registry.yarnpkg.com/rollup-plugin-dts/-/rollup-plugin-dts-3.0.2.tgz#2b628d88f864d271d6eaec2e4c2a60ae4e944c5c" 1014 | integrity sha512-hswlsdWu/x7k5pXzaLP6OvKRKcx8Bzprksz9i9mUe72zvt8LvqAb/AZpzs6FkLgmyRaN8B6rUQOVtzA3yEt9Yw== 1015 | dependencies: 1016 | magic-string "^0.25.7" 1017 | optionalDependencies: 1018 | "@babel/code-frame" "^7.12.13" 1019 | 1020 | rollup@^2.35.1, rollup@^2.79.1: 1021 | version "2.79.1" 1022 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" 1023 | integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== 1024 | optionalDependencies: 1025 | fsevents "~2.3.2" 1026 | 1027 | safe-buffer@^5.1.0: 1028 | version "5.2.1" 1029 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1030 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1031 | 1032 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1033 | version "5.1.2" 1034 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1035 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1036 | 1037 | selenium-webdriver@^4.0.0-beta.3: 1038 | version "4.4.0" 1039 | resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.4.0.tgz#3f280504f6c0ac64a24b176304213b5a49ec2553" 1040 | integrity sha512-Du+/xfpvNi9zHAeYgXhOWN9yH0hph+cuX+hHDBr7d+SbtQVcfNJwBzLsbdHrB1Wh7MHXFuIkSG88A9TRRQUx3g== 1041 | dependencies: 1042 | jszip "^3.10.0" 1043 | tmp "^0.2.1" 1044 | ws ">=8.7.0" 1045 | 1046 | send@0.18.0: 1047 | version "0.18.0" 1048 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" 1049 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== 1050 | dependencies: 1051 | debug "2.6.9" 1052 | depd "2.0.0" 1053 | destroy "1.2.0" 1054 | encodeurl "~1.0.2" 1055 | escape-html "~1.0.3" 1056 | etag "~1.8.1" 1057 | fresh "0.5.2" 1058 | http-errors "2.0.0" 1059 | mime "1.6.0" 1060 | ms "2.1.3" 1061 | on-finished "2.4.1" 1062 | range-parser "~1.2.1" 1063 | statuses "2.0.1" 1064 | 1065 | serialize-javascript@6.0.0: 1066 | version "6.0.0" 1067 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" 1068 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== 1069 | dependencies: 1070 | randombytes "^2.1.0" 1071 | 1072 | serve-static@^1.14.1: 1073 | version "1.15.0" 1074 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" 1075 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== 1076 | dependencies: 1077 | encodeurl "~1.0.2" 1078 | escape-html "~1.0.3" 1079 | parseurl "~1.3.3" 1080 | send "0.18.0" 1081 | 1082 | setimmediate@^1.0.5: 1083 | version "1.0.5" 1084 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 1085 | integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== 1086 | 1087 | setprototypeof@1.2.0: 1088 | version "1.2.0" 1089 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 1090 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1091 | 1092 | source-map-js@^1.0.2: 1093 | version "1.0.2" 1094 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1095 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1096 | 1097 | sourcemap-codec@^1.4.8: 1098 | version "1.4.8" 1099 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 1100 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 1101 | 1102 | statuses@2.0.1: 1103 | version "2.0.1" 1104 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" 1105 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 1106 | 1107 | string-width@^4.1.0, string-width@^4.2.0: 1108 | version "4.2.3" 1109 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1110 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1111 | dependencies: 1112 | emoji-regex "^8.0.0" 1113 | is-fullwidth-code-point "^3.0.0" 1114 | strip-ansi "^6.0.1" 1115 | 1116 | string_decoder@~1.1.1: 1117 | version "1.1.1" 1118 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1119 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1120 | dependencies: 1121 | safe-buffer "~5.1.0" 1122 | 1123 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1124 | version "6.0.1" 1125 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1126 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1127 | dependencies: 1128 | ansi-regex "^5.0.1" 1129 | 1130 | strip-json-comments@3.1.1: 1131 | version "3.1.1" 1132 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1133 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1134 | 1135 | style-mod@^4.0.0: 1136 | version "4.0.3" 1137 | resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.0.3.tgz#136c4abc905f82a866a18b39df4dc08ec762b1ad" 1138 | integrity sha512-78Jv8kYJdjbvRwwijtCevYADfsI0lGzYJe4mMFdceO8l75DFFDoqBhR1jVDicDRRaX4//g1u9wKeo+ztc2h1Rw== 1139 | 1140 | supports-color@8.1.1: 1141 | version "8.1.1" 1142 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1143 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1144 | dependencies: 1145 | has-flag "^4.0.0" 1146 | 1147 | supports-color@^5.3.0: 1148 | version "5.5.0" 1149 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1150 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1151 | dependencies: 1152 | has-flag "^3.0.0" 1153 | 1154 | supports-color@^7.1.0: 1155 | version "7.2.0" 1156 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1157 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1158 | dependencies: 1159 | has-flag "^4.0.0" 1160 | 1161 | supports-preserve-symlinks-flag@^1.0.0: 1162 | version "1.0.0" 1163 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1164 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1165 | 1166 | tmp@^0.2.1: 1167 | version "0.2.1" 1168 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" 1169 | integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== 1170 | dependencies: 1171 | rimraf "^3.0.0" 1172 | 1173 | to-regex-range@^5.0.1: 1174 | version "5.0.1" 1175 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1176 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1177 | dependencies: 1178 | is-number "^7.0.0" 1179 | 1180 | toidentifier@1.0.1: 1181 | version "1.0.1" 1182 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 1183 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1184 | 1185 | typescript@^4.2.3: 1186 | version "4.7.4" 1187 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" 1188 | integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== 1189 | 1190 | util-deprecate@~1.0.1: 1191 | version "1.0.2" 1192 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1193 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 1194 | 1195 | vite@^3.0.0: 1196 | version "3.2.8" 1197 | resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.8.tgz#0697e13addf99ed44b838b8462a3a922fdd9d37b" 1198 | integrity sha512-EtQU16PLIJpAZol2cTLttNP1mX6L0SyI0pgQB1VOoWeQnMSvtiwovV3D6NcjN8CZQWWyESD2v5NGnpz5RvgOZA== 1199 | dependencies: 1200 | esbuild "^0.15.9" 1201 | postcss "^8.4.18" 1202 | resolve "^1.22.1" 1203 | rollup "^2.79.1" 1204 | optionalDependencies: 1205 | fsevents "~2.3.2" 1206 | 1207 | w3c-keyname@^2.2.4: 1208 | version "2.2.8" 1209 | resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5" 1210 | integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== 1211 | 1212 | workerpool@6.2.1: 1213 | version "6.2.1" 1214 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" 1215 | integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== 1216 | 1217 | wrap-ansi@^7.0.0: 1218 | version "7.0.0" 1219 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1220 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1221 | dependencies: 1222 | ansi-styles "^4.0.0" 1223 | string-width "^4.1.0" 1224 | strip-ansi "^6.0.0" 1225 | 1226 | wrappy@1: 1227 | version "1.0.2" 1228 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1229 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1230 | 1231 | ws@>=8.7.0: 1232 | version "8.8.1" 1233 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" 1234 | integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== 1235 | 1236 | y18n@^5.0.5: 1237 | version "5.0.8" 1238 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 1239 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1240 | 1241 | yargs-parser@20.2.4: 1242 | version "20.2.4" 1243 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" 1244 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== 1245 | 1246 | yargs-parser@^20.2.2: 1247 | version "20.2.9" 1248 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 1249 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 1250 | 1251 | yargs-unparser@2.0.0: 1252 | version "2.0.0" 1253 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" 1254 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== 1255 | dependencies: 1256 | camelcase "^6.0.0" 1257 | decamelize "^4.0.0" 1258 | flat "^5.0.2" 1259 | is-plain-obj "^2.1.0" 1260 | 1261 | yargs@16.2.0: 1262 | version "16.2.0" 1263 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 1264 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 1265 | dependencies: 1266 | cliui "^7.0.2" 1267 | escalade "^3.1.1" 1268 | get-caller-file "^2.0.5" 1269 | require-directory "^2.1.1" 1270 | string-width "^4.2.0" 1271 | y18n "^5.0.5" 1272 | yargs-parser "^20.2.2" 1273 | 1274 | yocto-queue@^0.1.0: 1275 | version "0.1.0" 1276 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1277 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1278 | --------------------------------------------------------------------------------