├── .nvmrc ├── .eslintrc ├── .eslintignore ├── .gitignore ├── .npmignore ├── postcss.config.js ├── .github └── workflows │ ├── npm-publish.yml │ └── test.yml ├── index.html ├── src ├── serviceConfig.ts ├── index.css ├── services.ts └── index.ts ├── vite.config.js ├── tsconfig.json ├── LICENSE.md ├── package.json ├── README.md ├── test └── services.ts └── yarn.lock /.nvmrc: -------------------------------------------------------------------------------- 1 | 24 2 | 3 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["codex"] 3 | } 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | *.html 2 | dist/ 3 | node_modules/ 4 | 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/* 2 | npm-debug.log 3 | .idea/ 4 | .DS_Store 5 | dist 6 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | docs/ 3 | src/ 4 | test/ 5 | vite.config.js 6 | postcss.config.js 7 | .babelrc 8 | yarn.lock 9 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | require('postcss-nested-ancestors'), 4 | require('postcss-nested'), 5 | ], 6 | }; 7 | -------------------------------------------------------------------------------- /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish package to NPM 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | 8 | jobs: 9 | publish-and-notify: 10 | uses: codex-team/github-workflows/.github/workflows/npm-publish-and-notify-reusable.yml@main 11 | secrets: 12 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 13 | CODEX_BOT_NOTIFY_EDITORJS_PUBLIC_CHAT: ${{ secrets.CODEX_BOT_NOTIFY_EDITORJS_PUBLIC_CHAT }} 14 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Embed Tool | EditorJS 7 | 8 | 9 |
10 | 11 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Internal patterns test 2 | 3 | on: [pull_request] 4 | 5 | jobs: 6 | lint: 7 | name: Patterns 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v2 11 | - uses: actions/setup-node@v1 12 | with: 13 | node-version: 24 14 | registry-url: https://registry.npmjs.org/ 15 | 16 | - name: Cache node modules 17 | uses: actions/cache@v4 18 | with: 19 | path: node_modules 20 | key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }} 21 | restore-keys: | 22 | ${{ runner.os }}-node- 23 | 24 | - run: yarn install 25 | - run: yarn build 26 | - run: yarn test 27 | -------------------------------------------------------------------------------- /src/serviceConfig.ts: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @description Service configuration object 4 | */ 5 | export interface ServiceConfig { 6 | /** Pattern of source URLs */ 7 | regex: RegExp; 8 | /** URL scheme to embedded page. Use '<%= remote_id %>' to define a place to insert resource id */ 9 | embedUrl: string; 10 | /** Iframe which contains embedded content */ 11 | html: string; 12 | /** Function to get resource id from RegExp groups */ 13 | id?: (ids: string[]) => string; 14 | /** Embedded content width */ 15 | width?: number; 16 | /** Embedded content height */ 17 | height?: number; 18 | } 19 | 20 | /** 21 | * @description Type for services configuration 22 | */ 23 | export type ServicesConfigType = { [key: string]: ServiceConfig | boolean }; -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js"; 3 | import * as pkg from "./package.json"; 4 | import dts from 'vite-plugin-dts'; 5 | 6 | const NODE_ENV = process.argv.mode || 'development'; 7 | const VERSION = pkg.version; 8 | 9 | export default { 10 | build: { 11 | copyPublicDir: false, 12 | lib: { 13 | entry: path.resolve(__dirname, 'src', 'index.ts'), 14 | name: 'Embed', 15 | fileName: 'embed', 16 | }, 17 | }, 18 | define: { 19 | NODE_ENV: JSON.stringify(NODE_ENV), 20 | VERSION: JSON.stringify(VERSION), 21 | }, 22 | 23 | plugins: [cssInjectedByJsPlugin(), 24 | dts({ 25 | tsconfigPath: './tsconfig.json', 26 | }), 27 | ], 28 | }; 29 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Language and Environment */ 4 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 5 | /* Modules */ 6 | "module": "CommonJS", /* Specify what module code is generated. */ 7 | "typeRoots": ["./node_modules/@types", "./types"], /* Specify multiple folders that act like './node_modules/@types'. */ 8 | /* Interop Constraints */ 9 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 10 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 11 | /* Type Checking */ 12 | "strict": true, /* Enable all strict type-checking options. */ 13 | }, 14 | "include": ["src/*"] 15 | } -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 CodeX 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. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@editorjs/embed", 3 | "version": "2.8.1", 4 | "keywords": [ 5 | "codex editor", 6 | "embed", 7 | "editor.js", 8 | "editorjs" 9 | ], 10 | "description": "Embed Tool for Editor.js", 11 | "license": "MIT", 12 | "repository": "https://github.com/editor-js/embed", 13 | "packageManager": "yarn@1.22.22", 14 | "files": [ 15 | "dist" 16 | ], 17 | "main": "./dist/embed.umd.js", 18 | "module": "./dist/embed.mjs", 19 | "types": "dist/index.d.ts", 20 | "exports": { 21 | ".": { 22 | "import": "./dist/embed.mjs", 23 | "require": "./dist/embed.umd.js" 24 | } 25 | }, 26 | "scripts": { 27 | "dev": "vite", 28 | "build": "vite build", 29 | "test": "mocha --require ts-node/register --require ignore-styles --recursive './test/**/*.ts'", 30 | "lint": "eslint src/ --ext .js", 31 | "lint:errors": "eslint src/ --ext .js --quiet", 32 | "lint:fix": "eslint src/ --ext .js --fix" 33 | }, 34 | "author": { 35 | "name": "CodeX", 36 | "email": "team@codex.so" 37 | }, 38 | "engines": { 39 | "node": ">=24.0.0" 40 | }, 41 | "devDependencies": { 42 | "@types/chai": "^4.3.16", 43 | "@types/debounce": "^1.2.4", 44 | "@types/mocha": "^10.0.6", 45 | "@types/node": "^24.0.0", 46 | "chai": "^4.2.0", 47 | "debounce": "^1.2.0", 48 | "eslint": "^7.25.0", 49 | "eslint-config-codex": "^1.6.1", 50 | "ignore-styles": "^5.0.1", 51 | "mocha": "^7.1.1", 52 | "postcss-nested": "^4.2.1", 53 | "postcss-nested-ancestors": "^2.0.0", 54 | "ts-node": "^10.9.2", 55 | "typescript": "^5.4.5", 56 | "vite": "^5.4.21", 57 | "vite-plugin-css-injected-by-js": "^3.3.0", 58 | "vite-plugin-dts": "^3.9.1" 59 | }, 60 | "dependencies": { 61 | "@editorjs/editorjs": "^2.31.0" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | .embed-tool { 2 | &--loading { 3 | 4 | ^&__caption { 5 | display: none; 6 | } 7 | 8 | ^&__preloader { 9 | display: block; 10 | } 11 | 12 | ^&__content { 13 | display: none; 14 | } 15 | } 16 | 17 | &__preloader { 18 | display: none; 19 | position: relative; 20 | height: 200px; 21 | box-sizing: border-box; 22 | border-radius: 5px; 23 | border: 1px solid #e6e9eb; 24 | 25 | &::before { 26 | content: ''; 27 | position: absolute; 28 | z-index: 3; 29 | left: 50%; 30 | top: 50%; 31 | width: 30px; 32 | height: 30px; 33 | margin-top: -25px; 34 | margin-left: -15px; 35 | border-radius: 50%; 36 | border: 2px solid #cdd1e0; 37 | border-top-color: #388ae5; 38 | box-sizing: border-box; 39 | animation: embed-preloader-spin 2s infinite linear; 40 | } 41 | } 42 | 43 | &__url { 44 | position: absolute; 45 | bottom: 20px; 46 | left: 50%; 47 | transform: translateX(-50%); 48 | max-width: 250px; 49 | color: #7b7e89; 50 | font-size: 11px; 51 | white-space: nowrap; 52 | overflow: hidden; 53 | text-overflow: ellipsis; 54 | } 55 | 56 | &__content { 57 | width: 100%; 58 | } 59 | 60 | &__caption { 61 | margin-top: 7px; 62 | 63 | 64 | &[contentEditable=true][data-placeholder]::before{ 65 | position: absolute; 66 | content: attr(data-placeholder); 67 | color: #707684; 68 | font-weight: normal; 69 | opacity: 0; 70 | } 71 | 72 | &[contentEditable=true][data-placeholder]:empty { 73 | &::before { 74 | opacity: 1; 75 | } 76 | 77 | &:focus::before { 78 | opacity: 0; 79 | } 80 | } 81 | } 82 | } 83 | 84 | @keyframes embed-preloader-spin { 85 | 0% { 86 | transform: rotate(0deg); 87 | } 88 | 100% { 89 | transform: rotate(360deg); 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](https://badgen.net/badge/Editor.js/v2.0/blue) 2 | 3 | # Embed Tool 4 | 5 | Provides Block tool for embedded content for the [Editor.js](https://editorjs.io). 6 | Tool uses Editor.js pasted patterns handling and inserts iframe with embedded content. 7 | 8 | ## List of services supported 9 | 10 | > `service` — is a service name that will be saved to Tool's [output JSON](#output-data) 11 | 12 | - [Facebook](https://www.facebook.com) - `facebook` service 13 | - [Instagram](https://www.instagram.com/codex_team/) - `instagram` service 14 | - [YouTube](https://youtube.com) - `youtube` service 15 | - [X](https://twitter.com) - `twitter` service. (official twitter api is used for render, no need to use twitframe) 16 | - [Twitch](https://twitch.tv) - `twitch-video` service for videos and `twitch-channel` for channels 17 | - [Miro](https://miro.com) - `miro` service 18 | - [Vimeo](https://vimeo.com) — `vimeo` service 19 | - [Gfycat](https://gfycat.com) — `gfycat` service 20 | - [Imgur](https://imgur.com) — `imgur` service 21 | - [Vine](https://vine.co) - `vine` service. The project is in archive state now 22 | - [Aparat](https://www.aparat.com) - `aparat` service 23 | - [Yandex.Music](https://music.yandex.ru) - `yandex-music-track` service for tracks, `yandex-music-album` for albums and `yandex-music-playlist` for playlists 24 | - [Coub](https://coub.com) — `coub` service 25 | - [CodePen](https://codepen.io) — `codepen` service 26 | - [Pinterest](https://www.pinterest.com) - `pinterest` service 27 | - [GitHub Gist](https://gist.github.com) - `github` service 28 | - [Reddit](https://www.reddit.com/) - `reddit` service 29 | - [Figma](https://www.figma.com/) - `figma` service 30 | - [Whimsical](https://whimsical.com/) - whimsical service 31 | - 👇 Any other [customized service](#add-more-services) 32 | 33 | ## Installation 34 | 35 | Get the package 36 | 37 | ```shell 38 | yarn add @editorjs/embed 39 | ``` 40 | 41 | Include module at your application 42 | 43 | ```javascript 44 | import Embed from '@editorjs/embed'; 45 | ``` 46 | 47 | Optionally, you can load this tool from CDN [JsDelivr CDN](https://cdn.jsdelivr.net/npm/@editorjs/embed@latest) 48 | 49 | ## Usage 50 | 51 | Add a new Tool to the `tools` property of the Editor.js initial config. 52 | 53 | ```javascript 54 | var editor = EditorJS({ 55 | ... 56 | 57 | tools: { 58 | ... 59 | embed: Embed, 60 | }, 61 | 62 | ... 63 | }); 64 | ``` 65 | 66 | ## Available configuration 67 | 68 | ### Enabling / disabling services 69 | 70 | Embed Tool supports some services by default (see above). You can specify services you would like to use: 71 | 72 | ```javascript 73 | var editor = EditorJS({ 74 | ... 75 | 76 | tools: { 77 | ... 78 | embed: { 79 | class: Embed, 80 | config: { 81 | services: { 82 | youtube: true, 83 | coub: true 84 | } 85 | } 86 | }, 87 | }, 88 | 89 | ... 90 | }); 91 | ``` 92 | 93 | > Note that if you pass services you want to use like in the example above, others will not be enabled. 94 | 95 | ### Add more services 96 | 97 | You can provide your own services using simple configuration. 98 | 99 | First, you should create a Service configuration object. It contains following fields: 100 | 101 | | Field | Type | Description | 102 | | ---------- | ---------- | ----------- | 103 | | `regex` | `RegExp` | Pattern of pasted URLs. You should use regexp groups to extract resource id 104 | | `embedUrl` | `string` | Url of resource\`s embed page. Use `<%= remote_id %>` to substitute resource identifier 105 | | `html` | `string` | HTML code of iframe with embedded content. `embedUrl` will be set as iframe `src` 106 | | `height` | `number` | _Optional_. Height of inserted iframe 107 | | `width` | `number` | _Optional_. Width of inserted iframe 108 | | `id` | `Function` | _Optional_. If your id is complex you can provide function to make the id from extraced regexp groups 109 | 110 | Example: 111 | 112 | ```javascript 113 | { 114 | regex: /https?:\/\/codepen.io\/([^\/\?\&]*)\/pen\/([^\/\?\&]*)/, 115 | embedUrl: 'https://codepen.io/<%= remote_id %>?height=300&theme-id=0&default-tab=css,result&embed-version=2', 116 | html: "", 117 | height: 300, 118 | width: 600, 119 | id: (groups) => groups.join('/embed/') 120 | } 121 | ``` 122 | 123 | When you create a Service configuration object, you can provide it with Tool\`s configuration: 124 | 125 | ```javascript 126 | var editor = EditorJS({ 127 | ... 128 | 129 | tools: { 130 | ... 131 | embed: { 132 | class: Embed, 133 | config: { 134 | services: { 135 | youtube: true, 136 | coub: true, 137 | codepen: { 138 | regex: /https?:\/\/codepen.io\/([^\/\?\&]*)\/pen\/([^\/\?\&]*)/, 139 | embedUrl: 'https://codepen.io/<%= remote_id %>?height=300&theme-id=0&default-tab=css,result&embed-version=2', 140 | html: "", 141 | height: 300, 142 | width: 600, 143 | id: (groups) => groups.join('/embed/') 144 | } 145 | } 146 | } 147 | }, 148 | }, 149 | 150 | ... 151 | }); 152 | ``` 153 | 154 | #### Inline Toolbar 155 | 156 | Editor.js provides useful inline toolbar. You can allow it\`s usage in the Embed Tool caption by providing `inlineToolbar: true`. 157 | 158 | ```javascript 159 | var editor = EditorJS({ 160 | ... 161 | 162 | tools: { 163 | ... 164 | embed: { 165 | class: Embed, 166 | inlineToolbar: true 167 | }, 168 | }, 169 | 170 | ... 171 | }); 172 | ``` 173 | 174 | ## Output data 175 | 176 | | Field | Type | Description 177 | | ------- | -------- | ----------- 178 | | service | `string` | service unique name 179 | | source | `string` | source URL 180 | | embed | `string` | URL for source embed page 181 | | width | `number` | embedded content width 182 | | height | `number` | embedded content height 183 | | caption | `string` | content caption 184 | 185 | ```json 186 | { 187 | "type" : "embed", 188 | "data" : { 189 | "service" : "coub", 190 | "source" : "https://coub.com/view/1czcdf", 191 | "embed" : "https://coub.com/embed/1czcdf", 192 | "width" : 580, 193 | "height" : 320, 194 | "caption" : "My Life" 195 | } 196 | } 197 | ``` 198 | 199 | # About CodeX 200 | 201 | 202 | 203 | CodeX is a team of digital specialists around the world interested in building high-quality open source products on a global market. We are [open](https://codex.so/join) for young people who want to constantly improve their skills and grow professionally with experiments in cutting-edge technologies. 204 | 205 | | 🌐 | Join 👋 | Twitter | Instagram | 206 | | -- | -- | -- | -- | 207 | | [codex.so](https://codex.so) | [codex.so/join](https://codex.so/join) |[@codex_team](http://twitter.com/codex_team) | [@codex_team](http://instagram.com/codex_team) | 208 | -------------------------------------------------------------------------------- /src/services.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-useless-escape */ 2 | import type { ServicesConfigType } from './serviceConfig'; 3 | 4 | const SERVICES: ServicesConfigType = { 5 | vimeo: { 6 | regex: 7 | /(?:http[s]?:\/\/)?(?:www.)?(?:player.)?vimeo\.co(?:.+\/([^\/]\d+)(?:#t=[\d]+)?s?$)/, 8 | embedUrl: 9 | 'https://player.vimeo.com/video/<%= remote_id %>?title=0&byline=0', 10 | html: '', 11 | height: 320, 12 | width: 580, 13 | }, 14 | youtube: { 15 | regex: 16 | /(?:https?:\/\/)?(?:www\.)?(?:(?:youtu\.be\/)|(?:youtube\.com)\/(?:v\/|u\/\w\/|embed\/|watch|shorts\/))(?:(?:\?v=)?([^#&?=]*))?((?:[?&]\w*=[\w%+]*)*)/, 17 | embedUrl: 'https://www.youtube.com/embed/<%= remote_id %>', 18 | html: '', 19 | height: 320, 20 | width: 580, 21 | id: ([id, params]) => { 22 | if (!params && id) { 23 | return id; 24 | } 25 | 26 | const paramsMap: Record = { 27 | start: 'start', 28 | end: 'end', 29 | t: 'start', 30 | // eslint-disable-next-line camelcase 31 | time_continue: 'start', 32 | list: 'list', 33 | }; 34 | 35 | let newParams = params 36 | .slice(1) 37 | .split('&') 38 | .map((param) => { 39 | const [name, value] = param.split('='); 40 | 41 | if (!id && name === 'v') { 42 | id = value; 43 | 44 | return null; 45 | } 46 | 47 | if (!paramsMap[name]) { 48 | return null; 49 | } 50 | 51 | if ( 52 | value === 'LL' || 53 | value.startsWith('RDMM') || 54 | value.startsWith('FL') 55 | ) { 56 | return null; 57 | } 58 | 59 | return `${paramsMap[name]}=${value}`; 60 | }) 61 | .filter((param) => !!param); 62 | 63 | return id + '?' + newParams.join('&'); 64 | }, 65 | }, 66 | coub: { 67 | regex: /https?:\/\/coub\.com\/view\/([^\/\?\&]+)/, 68 | embedUrl: 'https://coub.com/embed/<%= remote_id %>', 69 | html: '', 70 | height: 320, 71 | width: 580, 72 | }, 73 | vine: { 74 | regex: /https?:\/\/vine\.co\/v\/([^\/\?\&]+)/, 75 | embedUrl: 'https://vine.co/v/<%= remote_id %>/embed/simple/', 76 | html: '', 77 | height: 320, 78 | width: 580, 79 | }, 80 | imgur: { 81 | regex: /https?:\/\/(?:i\.)?imgur\.com.*\/([a-zA-Z0-9]+)(?:\.gifv)?/, 82 | embedUrl: 'http://imgur.com/<%= remote_id %>/embed', 83 | html: '', 84 | height: 500, 85 | width: 540, 86 | }, 87 | gfycat: { 88 | regex: /https?:\/\/gfycat\.com(?:\/detail)?\/([a-zA-Z]+)/, 89 | embedUrl: 'https://gfycat.com/ifr/<%= remote_id %>', 90 | html: "", 91 | height: 436, 92 | width: 580, 93 | }, 94 | 'twitch-channel': { 95 | regex: /https?:\/\/www\.twitch\.tv\/([^\/\?\&]*)\/?$/, 96 | embedUrl: 'https://player.twitch.tv/?channel=<%= remote_id %>', 97 | html: '', 98 | height: 366, 99 | width: 600, 100 | }, 101 | 'twitch-video': { 102 | regex: /https?:\/\/www\.twitch\.tv\/(?:[^\/\?\&]*\/v|videos)\/([0-9]*)/, 103 | embedUrl: 'https://player.twitch.tv/?video=v<%= remote_id %>', 104 | html: '', 105 | height: 366, 106 | width: 600, 107 | }, 108 | 'yandex-music-album': { 109 | regex: /https?:\/\/music\.yandex\.ru\/album\/([0-9]*)\/?$/, 110 | embedUrl: 'https://music.yandex.ru/iframe/#album/<%= remote_id %>/', 111 | html: '', 112 | height: 400, 113 | width: 540, 114 | }, 115 | 'yandex-music-track': { 116 | regex: /https?:\/\/music\.yandex\.ru\/track\/([0-9]*)(?:\?.*)?/, 117 | embedUrl: 'https://music.yandex.ru/iframe/#track/<%= remote_id %>/', 118 | html: '', 119 | height: 100, 120 | width: 540, 121 | id: (ids) => ids[0], 122 | }, 123 | 'yandex-music-playlist': { 124 | regex: 125 | /https?:\/\/music\.yandex\.ru\/users\/([^\/\?\&]*)\/playlists\/([0-9]*)/, 126 | embedUrl: 127 | 'https://music.yandex.ru/iframe/#playlist/<%= remote_id %>/show/cover/description/', 128 | html: '', 129 | height: 400, 130 | width: 540, 131 | id: (ids) => ids.join('/'), 132 | }, 133 | codepen: { 134 | regex: /https?:\/\/codepen\.io\/([^\/\?\&]*)\/pen\/([^\/\?\&]*)/, 135 | embedUrl: 136 | 'https://codepen.io/<%= remote_id %>?height=300&theme-id=0&default-tab=css,result&embed-version=2', 137 | html: "", 138 | height: 300, 139 | width: 600, 140 | id: (ids) => ids.join('/embed/'), 141 | }, 142 | instagram: { 143 | regex: /^https:\/\/(?:www\.)?instagram\.com\/(?:reel|p)\/(.*)/, 144 | embedUrl: 'https://www.instagram.com/p/<%= remote_id %>/embed', 145 | html: '', 146 | height: 505, 147 | width: 400, 148 | id: (groups: string[]) => groups?.[0]?.split('/')[0], 149 | }, 150 | twitter: { 151 | regex: /^https?:\/\/(www\.)?(?:twitter\.com|x\.com)\/.+\/status\/(\d+)/, 152 | embedUrl: 153 | 'https://platform.twitter.com/embed/Tweet.html?id=<%= remote_id %>', 154 | html: '', 155 | height: 300, 156 | width: 600, 157 | id: (ids) => ids[1], 158 | }, 159 | reddit: { 160 | regex: /https:\/\/www\.reddit\.com\/(.*)/, 161 | embedUrl: 162 | "https://www.redditmedia.com/<%= remote_id %>?ref_source=embed&ref=share&embed=true", 163 | html: "", 164 | width: 600, 165 | height: 300, 166 | id: (ids) => ids[0], 167 | }, 168 | pinterest: { 169 | regex: /https?:\/\/([^\/\?\&]*).pinterest.com\/pin\/([^\/\?\&]*)\/?$/, 170 | embedUrl: 'https://assets.pinterest.com/ext/embed.html?id=<%= remote_id %>', 171 | html: "", 172 | id: (ids) => { 173 | return ids[1]; 174 | }, 175 | }, 176 | facebook: { 177 | regex: /https?:\/\/www.facebook.com\/([^\/\?\&]*)\/(.*)/, 178 | embedUrl: 179 | 'https://www.facebook.com/plugins/post.php?href=https://www.facebook.com/<%= remote_id %>&width=500', 180 | html: "", 181 | id: (ids) => { 182 | return ids.join('/'); 183 | }, 184 | }, 185 | aparat: { 186 | regex: /(?:http[s]?:\/\/)?(?:www.)?aparat\.com\/v\/([^\/\?\&]+)\/?/, 187 | embedUrl: 188 | 'https://www.aparat.com/video/video/embed/videohash/<%= remote_id %>/vt/frame', 189 | html: '', 190 | height: 300, 191 | width: 600, 192 | }, 193 | miro: { 194 | regex: /https:\/\/miro.com\/\S+(\S{12})\/(\S+)?/, 195 | embedUrl: 'https://miro.com/app/live-embed/<%= remote_id %>', 196 | html: '', 197 | }, 198 | github: { 199 | regex: /https?:\/\/gist.github.com\/([^\/\?\&]*)\/([^\/\?\&]*)/, 200 | embedUrl: 201 | 'data:text/html;charset=utf-8,', 202 | html: '', 203 | height: 300, 204 | width: 600, 205 | id: (groups) => `${groups.join('/')}.js`, 206 | }, 207 | whimsical: { 208 | regex: /(https:\/\/)?whimsical.com\/(?:[a-zA-Z0-9\-]+\-)?([a-km-zA-HJ-NP-Z1-9]{16,22})(@[a-km-zA-HJ-NP-Z1-9]+)?/, 209 | embedUrl: 'https://whimsical.com/embed/<%= remote_id %>', 210 | html: "", 211 | height: 300, 212 | width: 600, 213 | id: (ids) => ids[1] 214 | }, 215 | figma:{ 216 | regex: /(https:\/\/www\.figma\.com\/.*)?/, 217 | embedUrl: 'https://www.figma.com/embed?embed_host=share&url=<%= remote_id %>', 218 | html: "", 219 | height: 300, 220 | width: 600 221 | }, 222 | }; 223 | 224 | export default SERVICES; 225 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import SERVICES from './services'; 2 | import './index.css'; 3 | import { debounce } from 'debounce'; 4 | import type { ServiceConfig, ServicesConfigType } from './serviceConfig'; 5 | import type { API , PatternPasteEventDetail } from '@editorjs/editorjs'; 6 | 7 | /** 8 | * @description Embed Tool data 9 | */ 10 | export interface EmbedData { 11 | /** Service name */ 12 | service: string; 13 | /** Source URL of embedded content */ 14 | source: string; 15 | /** URL to source embed page */ 16 | embed: string; 17 | /** Embedded content width */ 18 | width?: number; 19 | /** Embedded content height */ 20 | height?: number; 21 | /** Content caption */ 22 | caption?: string; 23 | } 24 | 25 | /** 26 | * @description Embed tool configuration object 27 | */ 28 | interface EmbedConfig { 29 | /** Additional services provided by user */ 30 | services?: ServicesConfigType; 31 | } 32 | 33 | /** 34 | * @description CSS object 35 | */ 36 | interface CSS { 37 | /** Base class for CSS */ 38 | baseClass: string; 39 | /** CSS class for input */ 40 | input: string; 41 | /** CSS class for container */ 42 | container: string; 43 | /** CSS class for loading container */ 44 | containerLoading: string; 45 | /** CSS class for preloader */ 46 | preloader: string; 47 | /** CSS class for caption */ 48 | caption: string; 49 | /** CSS class for URL */ 50 | url: string; 51 | /** CSS class for content */ 52 | content: string; 53 | } 54 | 55 | interface ConstructorArgs { 56 | // data — previously saved data 57 | data: EmbedData; 58 | // api - Editor.js API 59 | api: API; 60 | // readOnly - read-only mode flag 61 | readOnly: boolean; 62 | } 63 | 64 | /** 65 | * @class Embed 66 | * @classdesc Embed Tool for Editor.js 2.0 67 | * 68 | * @property {object} api - Editor.js API 69 | * @property {EmbedData} _data - private property with Embed data 70 | * @property {HTMLElement} element - embedded content container 71 | * 72 | * @property {object} services - static property with available services 73 | * @property {object} patterns - static property with patterns for paste handling configuration 74 | */ 75 | export default class Embed { 76 | /** Editor.js API */ 77 | private api: API; 78 | /** Private property with Embed data */ 79 | private _data: EmbedData; 80 | /** Embedded content container */ 81 | private element: HTMLElement | null; 82 | /** Read-only mode flag */ 83 | private readOnly: boolean; 84 | /** Static property with available services */ 85 | static services: { [key: string]: ServiceConfig }; 86 | /** Static property with patterns for paste handling configuration */ 87 | static patterns: { [key: string]: RegExp }; 88 | /** 89 | * @param {{data: EmbedData, config: EmbedConfig, api: object}} 90 | * data — previously saved data 91 | * config - user config for Tool 92 | * api - Editor.js API 93 | * readOnly - read-only mode flag 94 | */ 95 | constructor({ data, api, readOnly }: ConstructorArgs) { 96 | this.api = api; 97 | this._data = {} as EmbedData; 98 | this.element = null; 99 | this.readOnly = readOnly; 100 | 101 | this.data = data; 102 | } 103 | 104 | /** 105 | * @param {EmbedData} data - embed data 106 | * @param {RegExp} [data.regex] - pattern of source URLs 107 | * @param {string} [data.embedUrl] - URL scheme to embedded page. Use '<%= remote_id %>' to define a place to insert resource id 108 | * @param {string} [data.html] - iframe which contains embedded content 109 | * @param {number} [data.height] - iframe height 110 | * @param {number} [data.width] - iframe width 111 | * @param {string} [data.caption] - caption 112 | */ 113 | set data(data: EmbedData) { 114 | if (!(data instanceof Object)) { 115 | throw Error('Embed Tool data should be object'); 116 | } 117 | 118 | const { service, source, embed, width, height, caption = '' } = data; 119 | 120 | this._data = { 121 | service: service || this.data.service, 122 | source: source || this.data.source, 123 | embed: embed || this.data.embed, 124 | width: width || this.data.width, 125 | height: height || this.data.height, 126 | caption: caption || this.data.caption || '', 127 | }; 128 | 129 | const oldView = this.element; 130 | 131 | if (oldView) { 132 | oldView.parentNode?.replaceChild(this.render(), oldView); 133 | } 134 | } 135 | 136 | /** 137 | * @returns {EmbedData} 138 | */ 139 | get data(): EmbedData { 140 | if (this.element) { 141 | const caption = this.element.querySelector(`.${this.api.styles.input}`) as HTMLElement; 142 | 143 | this._data.caption = caption ? caption.innerHTML : ''; 144 | } 145 | 146 | return this._data; 147 | } 148 | 149 | /** 150 | * Get plugin styles 151 | * 152 | * @returns {object} 153 | */ 154 | get CSS(): CSS { 155 | return { 156 | baseClass: this.api.styles.block, 157 | input: this.api.styles.input, 158 | container: 'embed-tool', 159 | containerLoading: 'embed-tool--loading', 160 | preloader: 'embed-tool__preloader', 161 | caption: 'embed-tool__caption', 162 | url: 'embed-tool__url', 163 | content: 'embed-tool__content', 164 | }; 165 | } 166 | 167 | /** 168 | * Render Embed tool content 169 | * 170 | * @returns {HTMLElement} 171 | */ 172 | render(): HTMLElement { 173 | if (!this.data.service) { 174 | const container = document.createElement('div'); 175 | 176 | this.element = container; 177 | 178 | return container; 179 | } 180 | 181 | const { html } = Embed.services[this.data.service]; 182 | const container = document.createElement('div'); 183 | const caption = document.createElement('div'); 184 | const template = document.createElement('template'); 185 | const preloader = this.createPreloader(); 186 | 187 | container.classList.add(this.CSS.baseClass, this.CSS.container, this.CSS.containerLoading); 188 | caption.classList.add(this.CSS.input, this.CSS.caption); 189 | 190 | container.appendChild(preloader); 191 | 192 | caption.contentEditable = (!this.readOnly).toString(); 193 | caption.dataset.placeholder = this.api.i18n.t('Enter a caption'); 194 | caption.innerHTML = this.data.caption || ''; 195 | 196 | template.innerHTML = html; 197 | (template.content.firstChild as HTMLElement).setAttribute('src', this.data.embed); 198 | (template.content.firstChild as HTMLElement).classList.add(this.CSS.content); 199 | 200 | const embedIsReady = this.embedIsReady(container); 201 | 202 | if (template.content.firstChild) { 203 | container.appendChild(template.content.firstChild); 204 | } 205 | container.appendChild(caption); 206 | 207 | embedIsReady 208 | .then(() => { 209 | container.classList.remove(this.CSS.containerLoading); 210 | }); 211 | 212 | this.element = container; 213 | 214 | return container; 215 | } 216 | 217 | /** 218 | * Creates preloader to append to container while data is loading 219 | * 220 | * @returns {HTMLElement} 221 | */ 222 | createPreloader(): HTMLElement { 223 | const preloader = document.createElement('preloader'); 224 | const url = document.createElement('div'); 225 | 226 | url.textContent = this.data.source; 227 | 228 | preloader.classList.add(this.CSS.preloader); 229 | url.classList.add(this.CSS.url); 230 | 231 | preloader.appendChild(url); 232 | 233 | return preloader; 234 | } 235 | 236 | /** 237 | * Save current content and return EmbedData object 238 | * 239 | * @returns {EmbedData} 240 | */ 241 | save(): EmbedData { 242 | return this.data; 243 | } 244 | 245 | /** 246 | * Handle pasted url and return Service object 247 | * 248 | * @param {PasteEvent} event - event with pasted data 249 | */ 250 | onPaste(event: { detail: PatternPasteEventDetail }) { 251 | const { key: service, data: url } = event.detail; 252 | 253 | const { regex, embedUrl, width, height, id = (ids) => ids.shift() || '' } = Embed.services[service]; 254 | const result = regex.exec(url)?.slice(1); 255 | const embed = result ? embedUrl.replace(/<%= remote_id %>/g, id(result)) : ''; 256 | 257 | this.data = { 258 | service, 259 | source: url, 260 | embed, 261 | width, 262 | height, 263 | }; 264 | } 265 | 266 | /** 267 | * Analyze provided config and make object with services to use 268 | * 269 | * @param {EmbedConfig} config - configuration of embed block element 270 | */ 271 | static prepare({ config = {} } : {config: EmbedConfig}) { 272 | const { services = {} } = config; 273 | 274 | let entries = Object.entries(SERVICES); 275 | 276 | const enabledServices = Object 277 | .entries(services) 278 | .filter(([key, value]) => { 279 | return typeof value === 'boolean' && value === true; 280 | }) 281 | .map(([ key ]) => key); 282 | 283 | const userServices = Object 284 | .entries(services) 285 | .filter(([key, value]) => { 286 | return typeof value === 'object'; 287 | }) 288 | .filter(([key, service]) => Embed.checkServiceConfig(service as ServiceConfig)) 289 | .map(([key, service]) => { 290 | const { regex, embedUrl, html, height, width, id } = service as ServiceConfig; 291 | 292 | return [key, { 293 | regex, 294 | embedUrl, 295 | html, 296 | height, 297 | width, 298 | id, 299 | } ] as [string, ServiceConfig]; 300 | }); 301 | 302 | if (enabledServices.length) { 303 | entries = entries.filter(([ key ]) => enabledServices.includes(key)); 304 | } 305 | 306 | entries = entries.concat(userServices); 307 | 308 | Embed.services = entries.reduce<{ [key: string]: ServiceConfig }>((result, [key, service]) => { 309 | if (!(key in result)) { 310 | result[key] = service as ServiceConfig; 311 | 312 | return result; 313 | } 314 | 315 | result[key] = Object.assign({}, result[key], service); 316 | 317 | return result; 318 | }, {}); 319 | 320 | Embed.patterns = entries 321 | .reduce<{ [key: string]: RegExp }>((result, [key, item]) => { 322 | if (item && typeof item !== 'boolean') { 323 | result[key] = (item as ServiceConfig).regex as RegExp; 324 | } 325 | 326 | return result; 327 | }, {}); 328 | } 329 | 330 | /** 331 | * Check if Service config is valid 332 | * 333 | * @param {Service} config - configuration of embed block element 334 | * @returns {boolean} 335 | */ 336 | static checkServiceConfig(config: ServiceConfig): boolean { 337 | const { regex, embedUrl, html, height, width, id } = config; 338 | 339 | let isValid = Boolean(regex && regex instanceof RegExp) && 340 | Boolean(embedUrl && typeof embedUrl === 'string') && 341 | Boolean(html && typeof html === 'string'); 342 | 343 | isValid = isValid && (id !== undefined ? id instanceof Function : true); 344 | isValid = isValid && (height !== undefined ? Number.isFinite(height) : true); 345 | isValid = isValid && (width !== undefined ? Number.isFinite(width) : true); 346 | 347 | return isValid; 348 | } 349 | 350 | /** 351 | * Paste configuration to enable pasted URLs processing by Editor 352 | * 353 | * @returns {object} - object of patterns which contain regx for pasteConfig 354 | */ 355 | static get pasteConfig() { 356 | return { 357 | patterns: Embed.patterns, 358 | }; 359 | } 360 | 361 | /** 362 | * Notify core that read-only mode is supported 363 | * 364 | * @returns {boolean} 365 | */ 366 | static get isReadOnlySupported() { 367 | return true; 368 | } 369 | 370 | /** 371 | * Checks that mutations in DOM have finished after appending iframe content 372 | * 373 | * @param {HTMLElement} targetNode - HTML-element mutations of which to listen 374 | * @returns {Promise} - result that all mutations have finished 375 | */ 376 | embedIsReady(targetNode: HTMLElement): Promise { 377 | const PRELOADER_DELAY = 450; 378 | 379 | let observer: MutationObserver; 380 | 381 | return new Promise((resolve, reject) => { 382 | observer = new MutationObserver(debounce(resolve, PRELOADER_DELAY)); 383 | observer.observe(targetNode, { 384 | childList: true, 385 | subtree: true, 386 | }); 387 | }).then(() => { 388 | observer.disconnect(); 389 | }); 390 | } 391 | } 392 | -------------------------------------------------------------------------------- /test/services.ts: -------------------------------------------------------------------------------- 1 | import { expect } from 'chai'; 2 | 3 | import EmbedTool, { EmbedData } from '../src/index'; 4 | import { API } from '@editorjs/editorjs'; 5 | 6 | EmbedTool.prepare({ config: {} }); 7 | const { patterns } = EmbedTool.pasteConfig; 8 | const embed = new EmbedTool({ 9 | data: {} as EmbedData, 10 | api: {} as API, 11 | readOnly: false, 12 | }); 13 | 14 | const composePasteEventMock = (type: string, service: string, url: string) => ({ 15 | type, 16 | detail: { 17 | key: service, 18 | data: url, 19 | }, 20 | }); 21 | 22 | describe('Services Regexps', () => { 23 | it('YouTube', async () => { 24 | const service = 'youtube'; 25 | 26 | const urls = [ 27 | { 28 | source: 'https://www.youtube.com/watch?v=wZZ7oFKsKzY&t=120', 29 | embed: 'https://www.youtube.com/embed/wZZ7oFKsKzY?start=120', 30 | }, 31 | { 32 | source: 33 | 'https://www.youtube.com/embed/_q51LZ2HpbE?list=PLLy6qvPKpdlV3OAw00EuZMoYPz4pYuwuN', 34 | embed: 35 | 'https://www.youtube.com/embed/_q51LZ2HpbE?list=PLLy6qvPKpdlV3OAw00EuZMoYPz4pYuwuN', 36 | }, 37 | { 38 | source: 'https://www.youtube.com/watch?time_continue=173&v=Nd9LbCWpHp8', 39 | embed: 'https://www.youtube.com/embed/Nd9LbCWpHp8?start=173', 40 | }, 41 | { 42 | source: 'https://www.youtube.com/watch?v=efBBjIK3b8I&list=LL&t=1337', 43 | embed: 'https://www.youtube.com/embed/efBBjIK3b8I?start=1337', 44 | }, 45 | { 46 | source: 47 | 'https://www.youtube.com/watch?v=yQUeAin7fII&list=RDMMnMXCzscqi_M', 48 | embed: 'https://www.youtube.com/embed/yQUeAin7fII?', 49 | }, 50 | { 51 | source: 52 | 'https://www.youtube.com/watch?v=3kw2sttGXMI&list=FLgc4xqIMDoiP4KOTFS21TJA', 53 | embed: 'https://www.youtube.com/embed/3kw2sttGXMI?', 54 | }, 55 | { 56 | source: 'https://www.youtube.com/shorts/AAcP_D8fz5c', 57 | embed: 'https://www.youtube.com/embed/AAcP_D8fz5c', 58 | }, 59 | { 60 | source: 'https://youtube.com/shorts/AAcP_D8fz5c?si=79yc6fwUcvsL-FY_', 61 | embed: 'https://www.youtube.com/embed/AAcP_D8fz5c?', 62 | }, 63 | { 64 | source: 'https://www.youtube.com/watch?v=kU9y8rKCe3w&ab_channel=Well%2BGood', 65 | embed: 'https://www.youtube.com/embed/kU9y8rKCe3w?', 66 | }, 67 | ]; 68 | 69 | urls.forEach((url) => { 70 | expect(patterns[service].test(url.source)).to.be.true; 71 | 72 | const event = composePasteEventMock('pattern', service, url.source); 73 | 74 | embed.onPaste(event); 75 | 76 | expect(embed.data.service).to.be.equal(service); 77 | expect(embed.data.embed).to.be.equal(url.embed); 78 | expect(embed.data.source).to.be.equal(url.source); 79 | }); 80 | }); 81 | 82 | it('Vimeo', async () => { 83 | const service = 'vimeo'; 84 | 85 | const urls = [ 86 | { 87 | source: 'https://vimeo.com/289836809', 88 | embed: 'https://player.vimeo.com/video/289836809?title=0&byline=0', 89 | }, 90 | { 91 | source: 'https://www.vimeo.com/280712228', 92 | embed: 'https://player.vimeo.com/video/280712228?title=0&byline=0', 93 | }, 94 | { 95 | source: 'https://player.vimeo.com/video/504749530', 96 | embed: 'https://player.vimeo.com/video/504749530?title=0&byline=0', 97 | }, 98 | ]; 99 | 100 | urls.forEach((url) => { 101 | expect(patterns[service].test(url.source)).to.be.true; 102 | 103 | const event = composePasteEventMock('pattern', service, url.source); 104 | 105 | embed.onPaste(event); 106 | 107 | expect(embed.data.service).to.be.equal(service); 108 | expect(embed.data.embed).to.be.equal(url.embed); 109 | expect(embed.data.source).to.be.equal(url.source); 110 | }); 111 | }); 112 | 113 | it('Coub', async () => { 114 | const service = 'coub'; 115 | 116 | const urls = [ 117 | { 118 | source: 'https://coub.com/view/1efrxs', 119 | embed: 'https://coub.com/embed/1efrxs', 120 | }, 121 | { 122 | source: 'https://coub.com/view/1c6nrr', 123 | embed: 'https://coub.com/embed/1c6nrr', 124 | }, 125 | ]; 126 | 127 | urls.forEach((url) => { 128 | expect(patterns[service].test(url.source)).to.be.true; 129 | const event = composePasteEventMock('pattern', service, url.source); 130 | 131 | embed.onPaste(event); 132 | 133 | expect(embed.data.service).to.be.equal(service); 134 | expect(embed.data.embed).to.be.equal(url.embed); 135 | expect(embed.data.source).to.be.equal(url.source); 136 | }); 137 | }); 138 | 139 | it('Imgur', async () => { 140 | const service = 'imgur'; 141 | 142 | const urls = [ 143 | { 144 | source: 'https://imgur.com/gallery/OHbkxgr', 145 | embed: 'http://imgur.com/OHbkxgr/embed', 146 | }, 147 | { 148 | source: 'https://imgur.com/gallery/TqIWG12', 149 | embed: 'http://imgur.com/TqIWG12/embed', 150 | }, 151 | ]; 152 | 153 | urls.forEach((url) => { 154 | expect(patterns[service].test(url.source)).to.be.true; 155 | 156 | const event = composePasteEventMock('pattern', service, url.source); 157 | 158 | embed.onPaste(event); 159 | 160 | expect(embed.data.service).to.be.equal(service); 161 | expect(embed.data.embed).to.be.equal(url.embed); 162 | expect(embed.data.source).to.be.equal(url.source); 163 | }); 164 | }); 165 | 166 | it('Gfycat', async () => { 167 | const service = 'gfycat'; 168 | 169 | const urls = [ 170 | { 171 | source: 'https://gfycat.com/EsteemedMarvelousHagfish', 172 | embed: 'https://gfycat.com/ifr/EsteemedMarvelousHagfish', 173 | }, 174 | { 175 | source: 'https://gfycat.com/OddCornyLeech', 176 | embed: 'https://gfycat.com/ifr/OddCornyLeech', 177 | }, 178 | ]; 179 | 180 | urls.forEach((url) => { 181 | expect(patterns[service].test(url.source)).to.be.true; 182 | const event = composePasteEventMock('pattern', service, url.source); 183 | 184 | embed.onPaste(event); 185 | 186 | expect(embed.data.service).to.be.equal(service); 187 | expect(embed.data.embed).to.be.equal(url.embed); 188 | expect(embed.data.source).to.be.equal(url.source); 189 | }); 190 | }); 191 | 192 | it('Twitch channel', async () => { 193 | const service = 'twitch-channel'; 194 | 195 | const urls = [ 196 | { 197 | source: 'https://www.twitch.tv/ninja', 198 | embed: 'https://player.twitch.tv/?channel=ninja', 199 | }, 200 | { 201 | source: 'https://www.twitch.tv/gohamedia', 202 | embed: 'https://player.twitch.tv/?channel=gohamedia', 203 | }, 204 | ]; 205 | 206 | urls.forEach((url) => { 207 | expect(patterns[service].test(url.source)).to.be.true; 208 | const event = composePasteEventMock('pattern', service, url.source); 209 | 210 | embed.onPaste(event); 211 | 212 | expect(embed.data.service).to.be.equal(service); 213 | expect(embed.data.embed).to.be.equal(url.embed); 214 | expect(embed.data.source).to.be.equal(url.source); 215 | }); 216 | }); 217 | 218 | it('Twitch video', async () => { 219 | const service = 'twitch-video'; 220 | 221 | const urls = [ 222 | { 223 | source: 'https://www.twitch.tv/videos/315468440', 224 | embed: 'https://player.twitch.tv/?video=v315468440', 225 | }, 226 | { 227 | source: 'https://www.twitch.tv/videos/314691366', 228 | embed: 'https://player.twitch.tv/?video=v314691366', 229 | }, 230 | ]; 231 | 232 | urls.forEach((url) => { 233 | expect(patterns[service].test(url.source)).to.be.true; 234 | 235 | const event = composePasteEventMock('pattern', service, url.source); 236 | 237 | embed.onPaste(event); 238 | 239 | expect(embed.data.service).to.be.equal(service); 240 | expect(embed.data.embed).to.be.equal(url.embed); 241 | expect(embed.data.source).to.be.equal(url.source); 242 | }); 243 | }); 244 | 245 | it('Yandex Music album', async () => { 246 | const service = 'yandex-music-album'; 247 | 248 | const urls = [ 249 | { 250 | source: 'https://music.yandex.ru/album/5643859', 251 | embed: 'https://music.yandex.ru/iframe/#album/5643859/', 252 | }, 253 | { 254 | source: 'https://music.yandex.ru/album/5393158', 255 | embed: 'https://music.yandex.ru/iframe/#album/5393158/', 256 | }, 257 | ]; 258 | 259 | urls.forEach((url) => { 260 | expect(patterns[service].test(url.source)).to.be.true; 261 | 262 | const event = composePasteEventMock('pattern', service, url.source); 263 | 264 | embed.onPaste(event); 265 | 266 | expect(embed.data.service).to.be.equal(service); 267 | expect(embed.data.embed).to.be.equal(url.embed); 268 | expect(embed.data.source).to.be.equal(url.source); 269 | }); 270 | }); 271 | 272 | it('Yandex Music track', async () => { 273 | const service = 'yandex-music-track'; 274 | 275 | const urls = [ 276 | { 277 | source: 'https://music.yandex.ru/track/49235718?utm_source=web&utm_medium=copy_link', 278 | embed: 'https://music.yandex.ru/iframe/#track/49235718/', 279 | }, 280 | { 281 | source: 'https://music.yandex.ru/track/42662275', 282 | embed: 'https://music.yandex.ru/iframe/#track/42662275/', 283 | }, 284 | ]; 285 | 286 | urls.forEach((url) => { 287 | expect(patterns[service].test(url.source)).to.be.true; 288 | 289 | const event = composePasteEventMock('pattern', service, url.source); 290 | 291 | embed.onPaste(event); 292 | 293 | expect(embed.data.service).to.be.equal(service); 294 | expect(embed.data.embed).to.be.equal(url.embed); 295 | expect(embed.data.source).to.be.equal(url.source); 296 | }); 297 | }); 298 | 299 | it('Yandex Music playlist', async () => { 300 | const service = 'yandex-music-playlist'; 301 | 302 | const urls = [ 303 | { 304 | source: 305 | 'https://music.yandex.ru/users/yamusic-personal/playlists/25098905', 306 | embed: 307 | 'https://music.yandex.ru/iframe/#playlist/yamusic-personal/25098905/show/cover/description/', 308 | }, 309 | { 310 | source: 311 | 'https://music.yandex.ru/users/yamusic-personal/playlists/27924603', 312 | embed: 313 | 'https://music.yandex.ru/iframe/#playlist/yamusic-personal/27924603/show/cover/description/', 314 | }, 315 | ]; 316 | 317 | urls.forEach((url) => { 318 | expect(patterns[service].test(url.source)).to.be.true; 319 | const event = composePasteEventMock('pattern', service, url.source); 320 | 321 | embed.onPaste(event); 322 | 323 | expect(embed.data.service).to.be.equal(service); 324 | expect(embed.data.embed).to.be.equal(url.embed); 325 | expect(embed.data.source).to.be.equal(url.source); 326 | }); 327 | }); 328 | 329 | it('Codepen', async () => { 330 | const service = 'codepen'; 331 | 332 | const urls = [ 333 | { 334 | source: 'https://codepen.io/Rikkokiri/pen/RYBrwG', 335 | embed: 336 | 'https://codepen.io/Rikkokiri/embed/RYBrwG?height=300&theme-id=0&default-tab=css,result&embed-version=2', 337 | }, 338 | { 339 | source: 'https://codepen.io/geoffgraham/pen/bxEVEN', 340 | embed: 341 | 'https://codepen.io/geoffgraham/embed/bxEVEN?height=300&theme-id=0&default-tab=css,result&embed-version=2', 342 | }, 343 | ]; 344 | 345 | urls.forEach((url) => { 346 | expect(patterns[service].test(url.source)).to.be.true; 347 | 348 | const event = composePasteEventMock('pattern', service, url.source); 349 | 350 | embed.onPaste(event); 351 | 352 | expect(embed.data.service).to.be.equal(service); 353 | expect(embed.data.embed).to.be.equal(url.embed); 354 | expect(embed.data.source).to.be.equal(url.source); 355 | }); 356 | }); 357 | 358 | it('Twitter', async () => { 359 | const service = 'twitter'; 360 | 361 | const urls = [ 362 | { 363 | source: 'https://twitter.com/codex_team/status/1202295536826630145', 364 | embed: 365 | 'https://platform.twitter.com/embed/Tweet.html?id=1202295536826630145', 366 | }, 367 | { 368 | source: 369 | 'https://twitter.com/codex_team/status/1202295536826630145?s=20&t=wrY8ei5GBjbbmNonrEm2kQ', 370 | embed: 371 | 'https://platform.twitter.com/embed/Tweet.html?id=1202295536826630145', 372 | }, 373 | { 374 | source: 'https://x.com/codex_team/status/1202295536826630145', 375 | embed: 376 | 'https://platform.twitter.com/embed/Tweet.html?id=1202295536826630145', 377 | }, 378 | ]; 379 | 380 | urls.forEach((url) => { 381 | expect(patterns[service].test(url.source)).to.be.true; 382 | 383 | const event = composePasteEventMock('pattern', service, url.source); 384 | 385 | embed.onPaste(event); 386 | 387 | expect(embed.data.service).to.be.equal(service); 388 | expect(embed.data.embed).to.be.equal(url.embed); 389 | expect(embed.data.source).to.be.equal(url.source); 390 | }); 391 | }); 392 | 393 | it('Instagram', async () => { 394 | const service = 'instagram'; 395 | 396 | const urls = [ 397 | { 398 | source: 'https://www.instagram.com/p/B--iRCFHVxI/', 399 | embed: 'https://www.instagram.com/p/B--iRCFHVxI/embed', 400 | }, 401 | { 402 | source: 403 | 'https://www.instagram.com/p/CfQzzGNphD8/?utm_source=ig_web_copy_link', 404 | embed: 'https://www.instagram.com/p/CfQzzGNphD8/embed', 405 | }, 406 | { 407 | source: 'https://www.instagram.com/p/C4_Lsf1NBra/?img_index=1', 408 | embed: 'https://www.instagram.com/p/C4_Lsf1NBra/embed', 409 | }, 410 | { 411 | source: 412 | 'https://www.instagram.com/p/C5ZZUWPydSY/?utm_source=ig_web_copy_link', 413 | embed: 'https://www.instagram.com/p/C5ZZUWPydSY/embed', 414 | }, 415 | { 416 | source: 'https://www.instagram.com/reel/C19IuqJx6wm/', 417 | embed: 'https://www.instagram.com/p/C19IuqJx6wm/embed', 418 | }, 419 | { 420 | source: 421 | 'https://www.instagram.com/reel/C19IuqJx6wm/?utm_source=ig_web_copy_link', 422 | embed: 'https://www.instagram.com/p/C19IuqJx6wm/embed', 423 | }, 424 | ]; 425 | 426 | urls.forEach((url) => { 427 | expect(patterns[service].test(url.source)).to.be.true; 428 | 429 | const event = composePasteEventMock('pattern', service, url.source); 430 | 431 | embed.onPaste(event); 432 | 433 | expect(embed.data.service).to.be.equal(service); 434 | expect(embed.data.embed).to.be.equal(url.embed); 435 | expect(embed.data.source).to.be.equal(url.source); 436 | }); 437 | }); 438 | 439 | it('Reddit', async () => { 440 | const service = 'reddit'; 441 | 442 | const urls = [ 443 | { 444 | source: "https://www.reddit.com/r/news/comments/1g5b240/liam_payne_former_one_direction_member_dead_at_31/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button", 445 | embed: "https://www.redditmedia.com/r/news/comments/1g5b240/liam_payne_former_one_direction_member_dead_at_31/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button?ref_source=embed&ref=share&embed=true" 446 | }, 447 | { 448 | source: "https://www.reddit.com/r/news/comments/1fvdajx/comment/lq6aokl/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button", 449 | embed: "https://www.redditmedia.com/r/news/comments/1fvdajx/comment/lq6aokl/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button?ref_source=embed&ref=share&embed=true" 450 | }, 451 | { 452 | source: "https://www.reddit.com/r/news/comments/1fvdajx/central_pa_school_district_installs_surveillance/", 453 | embed: "https://www.redditmedia.com/r/news/comments/1fvdajx/central_pa_school_district_installs_surveillance/?ref_source=embed&ref=share&embed=true" 454 | }, 455 | ]; 456 | 457 | urls.forEach(url => { 458 | expect(patterns[service].test(url.source)).to.be.true; 459 | 460 | const event = composePasteEventMock('pattern', service, url.source); 461 | 462 | embed.onPaste(event); 463 | 464 | expect(embed.data.service).to.be.equal(service); 465 | expect(embed.data.embed).to.be.equal(url.embed); 466 | expect(embed.data.source).to.be.equal(url.source); 467 | }); 468 | }); 469 | it('Aparat', async () => { 470 | const service = 'aparat'; 471 | const urls = [ 472 | { 473 | source: 'https://www.aparat.com/v/tDZe5', 474 | embed: 475 | 'https://www.aparat.com/video/video/embed/videohash/tDZe5/vt/frame', 476 | }, 477 | ]; 478 | 479 | urls.forEach((url) => { 480 | expect(patterns[service].test(url.source)).to.be.true; 481 | 482 | const event = composePasteEventMock('pattern', service, url.source); 483 | 484 | embed.onPaste(event); 485 | 486 | expect(embed.data.service).to.be.equal(service); 487 | expect(embed.data.embed).to.be.equal(url.embed); 488 | expect(embed.data.source).to.be.equal(url.source); 489 | }); 490 | }); 491 | 492 | it('Patterns', async () => { 493 | const services = { 494 | youtube: 'https://www.youtube.com/watch?v=wZZ7oFKsKzY', 495 | vimeo: 'https://vimeo.com/289836809', 496 | coub: 'https://coub.com/view/1efrxs', 497 | imgur: 'https://imgur.com/gallery/OHbkxgr', 498 | gfycat: 'https://gfycat.com/EsteemedMarvelousHagfish', 499 | 'twitch-channel': 'https://www.twitch.tv/ninja', 500 | 'twitch-video': 'https://www.twitch.tv/videos/315468440', 501 | 'yandex-music-album': 'https://music.yandex.ru/album/5643859', 502 | 'yandex-music-track': 503 | 'https://music.yandex.ru/track/42662275', 504 | 'yandex-music-playlist': 505 | 'https://music.yandex.ru/users/yamusic-personal/playlists/25098905', 506 | codepen: 'https://codepen.io/Rikkokiri/pen/RYBrwG', 507 | 508 | }; 509 | 510 | Object.entries(services).forEach(([name, url]) => { 511 | const foundService = Object.entries(patterns).find(([key, pattern]) => { 512 | return pattern.test(url); 513 | }); 514 | 515 | expect(foundService![0]).to.be.equal(name); 516 | }); 517 | }); 518 | 519 | it('Pinterest', async () => { 520 | const service = 'pinterest'; 521 | 522 | const urls = [ 523 | { 524 | source: 'https://tr.pinterest.com/pin/409757266103637553/', 525 | embed: 526 | 'https://assets.pinterest.com/ext/embed.html?id=409757266103637553', 527 | }, 528 | ]; 529 | 530 | urls.forEach((url) => { 531 | expect(patterns[service].test(url.source)).to.be.true; 532 | 533 | const event = composePasteEventMock('pattern', service, url.source); 534 | 535 | embed.onPaste(event); 536 | 537 | expect(embed.data.service).to.be.equal(service); 538 | expect(embed.data.embed).to.be.equal(url.embed); 539 | expect(embed.data.source).to.be.equal(url.source); 540 | }); 541 | }); 542 | 543 | it('Facebook', async () => { 544 | const service = 'facebook'; 545 | 546 | const urls = [ 547 | { 548 | source: 549 | 'https://www.facebook.com/genclikforeverresmi/videos/944647522284479', 550 | embed: 551 | 'https://www.facebook.com/plugins/post.php?href=https://www.facebook.com/genclikforeverresmi/videos/944647522284479&width=500', 552 | }, 553 | { 554 | source: 'https://www.facebook.com/0devco/posts/497515624410920', 555 | embed: 556 | 'https://www.facebook.com/plugins/post.php?href=https://www.facebook.com/0devco/posts/497515624410920&width=500', 557 | }, 558 | ]; 559 | 560 | urls.forEach((url) => { 561 | expect(patterns[service].test(url.source)).to.be.true; 562 | 563 | const event = composePasteEventMock('pattern', service, url.source); 564 | 565 | embed.onPaste(event); 566 | 567 | expect(embed.data.service).to.be.equal(service); 568 | expect(embed.data.embed).to.be.equal(url.embed); 569 | expect(embed.data.source).to.be.equal(url.source); 570 | }); 571 | }); 572 | 573 | it('Github', async () => { 574 | const service = 'github'; 575 | 576 | const urls = [ 577 | { 578 | source: 579 | 'https://gist.github.com/userharis/091b56505c804276e1f91925976f11db', 580 | embed: 581 | 'data:text/html;charset=utf-8,', 582 | }, 583 | { 584 | source: 585 | 'https://gist.github.com/userharis/a8c2977094d4716c43e35e6c20b7d306', 586 | embed: 587 | 'data:text/html;charset=utf-8,', 588 | }, 589 | ]; 590 | 591 | urls.forEach((url) => { 592 | expect(patterns[service].test(url.source)).to.be.true; 593 | 594 | const event = composePasteEventMock('pattern', service, url.source); 595 | 596 | embed.onPaste(event); 597 | 598 | expect(embed.data.service).to.be.equal(service); 599 | expect(embed.data.embed).to.be.equal(url.embed); 600 | expect(embed.data.source).to.be.equal(url.source); 601 | }); 602 | }); 603 | }); 604 | 605 | describe('Miro service', () => { 606 | it('should correctly parse URL got from a browser', () => { 607 | const regularBoardUrl = 'https://miro.com/app/board/10J_kw57KxQ=/'; 608 | const event = composePasteEventMock('pattern', 'miro', regularBoardUrl); 609 | 610 | embed.onPaste(event); 611 | 612 | expect(patterns.miro.test(regularBoardUrl)).to.be.true; 613 | expect(embed.data.service).to.be.equal('miro'); 614 | expect(embed.data.embed).to.be.equal( 615 | 'https://miro.com/app/live-embed/10J_kw57KxQ=' 616 | ); 617 | expect(embed.data.source).to.be.equal(regularBoardUrl); 618 | }); 619 | }); 620 | 621 | describe('whimsical', () => { 622 | it('should correctly parse URL got from a browser', () => { 623 | const regularBoardUrl = 'https://whimsical.com/test-86ajy7vWEzYATvwFFvbwfA'; 624 | const event = composePasteEventMock('pattern', 'whimsical', regularBoardUrl); 625 | 626 | embed.onPaste(event); 627 | 628 | expect(patterns.whimsical.test(regularBoardUrl)).to.be.true; 629 | expect(embed.data.service).to.be.equal('whimsical'); 630 | expect(embed.data.embed).to.be.equal('https://whimsical.com/embed/86ajy7vWEzYATvwFFvbwfA'); 631 | expect(embed.data.source).to.be.equal(regularBoardUrl); 632 | }); 633 | }); 634 | 635 | describe('figma', () => { 636 | it('should correctly parse URL got from a browser', () => { 637 | const regularBoardUrl = 'https://www.figma.com/file/3BYrViWFPvfhbrpm1aO3ha/Untitled?type=design&node-id=0%3A1&mode=design&t=WutMRT9L8VJNEL5z-1'; 638 | const event = composePasteEventMock('pattern', 'figma', regularBoardUrl); 639 | 640 | embed.onPaste(event); 641 | 642 | expect(patterns.figma.test(regularBoardUrl)).to.be.true; 643 | expect(embed.data.service).to.be.equal('figma'); 644 | expect(embed.data.embed).to.be.equal('https://www.figma.com/embed?embed_host=share&url=https://www.figma.com/file/3BYrViWFPvfhbrpm1aO3ha/Untitled?type=design&node-id=0%3A1&mode=design&t=WutMRT9L8VJNEL5z-1'); 645 | expect(embed.data.source).to.be.equal(regularBoardUrl); 646 | }); 647 | }); 648 | -------------------------------------------------------------------------------- /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/helper-validator-identifier@^7.12.11": 13 | version "7.12.11" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" 15 | integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== 16 | 17 | "@babel/highlight@^7.10.4": 18 | version "7.13.10" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" 20 | integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.12.11" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@babel/parser@^7.24.7": 27 | version "7.24.7" 28 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" 29 | integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== 30 | 31 | "@cspotcode/source-map-support@^0.8.0": 32 | version "0.8.1" 33 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" 34 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== 35 | dependencies: 36 | "@jridgewell/trace-mapping" "0.3.9" 37 | 38 | "@editorjs/caret@^1.0.1": 39 | version "1.0.3" 40 | resolved "https://registry.yarnpkg.com/@editorjs/caret/-/caret-1.0.3.tgz#1a622d2d8ec117a724ed782e21b7c5a74c3c1401" 41 | integrity sha512-VmgwQJZgL/LQjk049JunzRV1YCa0vDi+BNEpbDmr5cp3lGZllq9QQFO1eI71ZPzvFVn3vvhb+eOif4sAEyGgbw== 42 | dependencies: 43 | "@editorjs/dom" "^1.0.1" 44 | 45 | "@editorjs/dom@^1.0.1": 46 | version "1.0.1" 47 | resolved "https://registry.yarnpkg.com/@editorjs/dom/-/dom-1.0.1.tgz#ace66e79096101a9767d29907468f8eb07e73693" 48 | integrity sha512-yLO+86MYOIUr1Jl7SQw23SYT84ggv6aJW0EIRsI3NTHYgnQzmK7Bt2n5ZFupQlB0GJqmKqA5tCue3NKQb+o7Pw== 49 | dependencies: 50 | "@editorjs/helpers" "^1.0.1" 51 | 52 | "@editorjs/editorjs@^2.31.0": 53 | version "2.31.0" 54 | resolved "https://registry.yarnpkg.com/@editorjs/editorjs/-/editorjs-2.31.0.tgz#fd580f030c50b7278c0c12caf0c48fd4611c2c03" 55 | integrity sha512-CBcIZXtPlg0dSlC5clO9OfTCmcxelj723jd4d67teFlaFJobjjxU1PmMxFJdhaRep5+nqdD0jr+fdJBqEDqt1g== 56 | dependencies: 57 | "@editorjs/caret" "^1.0.1" 58 | codex-notifier "^1.1.2" 59 | codex-tooltip "^1.0.5" 60 | 61 | "@editorjs/helpers@^1.0.1": 62 | version "1.0.1" 63 | resolved "https://registry.yarnpkg.com/@editorjs/helpers/-/helpers-1.0.1.tgz#e96f7d485c15f563e69c37bd82282c148e0187cc" 64 | integrity sha512-Lmr8ImoQvoROXtzhsIJsA1ZtXzH46DmE6O8hMjn9/AvQq62UfjREjn+Ewi6KxjIZMay2PsgDEbLlsVyNJGEaxw== 65 | 66 | "@esbuild/aix-ppc64@0.21.5": 67 | version "0.21.5" 68 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" 69 | integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== 70 | 71 | "@esbuild/android-arm64@0.21.5": 72 | version "0.21.5" 73 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" 74 | integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== 75 | 76 | "@esbuild/android-arm@0.21.5": 77 | version "0.21.5" 78 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" 79 | integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== 80 | 81 | "@esbuild/android-x64@0.21.5": 82 | version "0.21.5" 83 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" 84 | integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== 85 | 86 | "@esbuild/darwin-arm64@0.21.5": 87 | version "0.21.5" 88 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" 89 | integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== 90 | 91 | "@esbuild/darwin-x64@0.21.5": 92 | version "0.21.5" 93 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" 94 | integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== 95 | 96 | "@esbuild/freebsd-arm64@0.21.5": 97 | version "0.21.5" 98 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" 99 | integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== 100 | 101 | "@esbuild/freebsd-x64@0.21.5": 102 | version "0.21.5" 103 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" 104 | integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== 105 | 106 | "@esbuild/linux-arm64@0.21.5": 107 | version "0.21.5" 108 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" 109 | integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== 110 | 111 | "@esbuild/linux-arm@0.21.5": 112 | version "0.21.5" 113 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" 114 | integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== 115 | 116 | "@esbuild/linux-ia32@0.21.5": 117 | version "0.21.5" 118 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" 119 | integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== 120 | 121 | "@esbuild/linux-loong64@0.21.5": 122 | version "0.21.5" 123 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" 124 | integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== 125 | 126 | "@esbuild/linux-mips64el@0.21.5": 127 | version "0.21.5" 128 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" 129 | integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== 130 | 131 | "@esbuild/linux-ppc64@0.21.5": 132 | version "0.21.5" 133 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" 134 | integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== 135 | 136 | "@esbuild/linux-riscv64@0.21.5": 137 | version "0.21.5" 138 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" 139 | integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== 140 | 141 | "@esbuild/linux-s390x@0.21.5": 142 | version "0.21.5" 143 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" 144 | integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== 145 | 146 | "@esbuild/linux-x64@0.21.5": 147 | version "0.21.5" 148 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" 149 | integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== 150 | 151 | "@esbuild/netbsd-x64@0.21.5": 152 | version "0.21.5" 153 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" 154 | integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== 155 | 156 | "@esbuild/openbsd-x64@0.21.5": 157 | version "0.21.5" 158 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" 159 | integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== 160 | 161 | "@esbuild/sunos-x64@0.21.5": 162 | version "0.21.5" 163 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" 164 | integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== 165 | 166 | "@esbuild/win32-arm64@0.21.5": 167 | version "0.21.5" 168 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" 169 | integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== 170 | 171 | "@esbuild/win32-ia32@0.21.5": 172 | version "0.21.5" 173 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" 174 | integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== 175 | 176 | "@esbuild/win32-x64@0.21.5": 177 | version "0.21.5" 178 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" 179 | integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== 180 | 181 | "@eslint/eslintrc@^0.4.0": 182 | version "0.4.0" 183 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" 184 | integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== 185 | dependencies: 186 | ajv "^6.12.4" 187 | debug "^4.1.1" 188 | espree "^7.3.0" 189 | globals "^12.1.0" 190 | ignore "^4.0.6" 191 | import-fresh "^3.2.1" 192 | js-yaml "^3.13.1" 193 | minimatch "^3.0.4" 194 | strip-json-comments "^3.1.1" 195 | 196 | "@jridgewell/resolve-uri@^3.0.3": 197 | version "3.1.2" 198 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" 199 | integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== 200 | 201 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.15": 202 | version "1.4.15" 203 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 204 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 205 | 206 | "@jridgewell/trace-mapping@0.3.9": 207 | version "0.3.9" 208 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" 209 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== 210 | dependencies: 211 | "@jridgewell/resolve-uri" "^3.0.3" 212 | "@jridgewell/sourcemap-codec" "^1.4.10" 213 | 214 | "@microsoft/api-extractor-model@7.28.13": 215 | version "7.28.13" 216 | resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.28.13.tgz#96fbc52155e0d07e0eabbd9699065b77702fe33a" 217 | integrity sha512-39v/JyldX4MS9uzHcdfmjjfS6cYGAoXV+io8B5a338pkHiSt+gy2eXQ0Q7cGFJ7quSa1VqqlMdlPrB6sLR/cAw== 218 | dependencies: 219 | "@microsoft/tsdoc" "0.14.2" 220 | "@microsoft/tsdoc-config" "~0.16.1" 221 | "@rushstack/node-core-library" "4.0.2" 222 | 223 | "@microsoft/api-extractor@7.43.0": 224 | version "7.43.0" 225 | resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.43.0.tgz#41c42677bc71cd8e0f23c63c56802d85044e65cd" 226 | integrity sha512-GFhTcJpB+MI6FhvXEI9b2K0snulNLWHqC/BbcJtyNYcKUiw7l3Lgis5ApsYncJ0leALX7/of4XfmXk+maT111w== 227 | dependencies: 228 | "@microsoft/api-extractor-model" "7.28.13" 229 | "@microsoft/tsdoc" "0.14.2" 230 | "@microsoft/tsdoc-config" "~0.16.1" 231 | "@rushstack/node-core-library" "4.0.2" 232 | "@rushstack/rig-package" "0.5.2" 233 | "@rushstack/terminal" "0.10.0" 234 | "@rushstack/ts-command-line" "4.19.1" 235 | lodash "~4.17.15" 236 | minimatch "~3.0.3" 237 | resolve "~1.22.1" 238 | semver "~7.5.4" 239 | source-map "~0.6.1" 240 | typescript "5.4.2" 241 | 242 | "@microsoft/tsdoc-config@~0.16.1": 243 | version "0.16.2" 244 | resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz#b786bb4ead00d54f53839a458ce626c8548d3adf" 245 | integrity sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw== 246 | dependencies: 247 | "@microsoft/tsdoc" "0.14.2" 248 | ajv "~6.12.6" 249 | jju "~1.4.0" 250 | resolve "~1.19.0" 251 | 252 | "@microsoft/tsdoc@0.14.2": 253 | version "0.14.2" 254 | resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" 255 | integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== 256 | 257 | "@nodelib/fs.scandir@2.1.4": 258 | version "2.1.4" 259 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" 260 | integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== 261 | dependencies: 262 | "@nodelib/fs.stat" "2.0.4" 263 | run-parallel "^1.1.9" 264 | 265 | "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": 266 | version "2.0.4" 267 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" 268 | integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== 269 | 270 | "@nodelib/fs.walk@^1.2.3": 271 | version "1.2.6" 272 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" 273 | integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== 274 | dependencies: 275 | "@nodelib/fs.scandir" "2.1.4" 276 | fastq "^1.6.0" 277 | 278 | "@rollup/pluginutils@^5.1.0": 279 | version "5.1.0" 280 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" 281 | integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== 282 | dependencies: 283 | "@types/estree" "^1.0.0" 284 | estree-walker "^2.0.2" 285 | picomatch "^2.3.1" 286 | 287 | "@rollup/rollup-android-arm-eabi@4.53.3": 288 | version "4.53.3" 289 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz#7e478b66180c5330429dd161bf84dad66b59c8eb" 290 | integrity sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w== 291 | 292 | "@rollup/rollup-android-arm64@4.53.3": 293 | version "4.53.3" 294 | resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz#2b025510c53a5e3962d3edade91fba9368c9d71c" 295 | integrity sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w== 296 | 297 | "@rollup/rollup-darwin-arm64@4.53.3": 298 | version "4.53.3" 299 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz#3577c38af68ccf34c03e84f476bfd526abca10a0" 300 | integrity sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA== 301 | 302 | "@rollup/rollup-darwin-x64@4.53.3": 303 | version "4.53.3" 304 | resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz#2bf5f2520a1f3b551723d274b9669ba5b75ed69c" 305 | integrity sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ== 306 | 307 | "@rollup/rollup-freebsd-arm64@4.53.3": 308 | version "4.53.3" 309 | resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz#4bb9cc80252564c158efc0710153c71633f1927c" 310 | integrity sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w== 311 | 312 | "@rollup/rollup-freebsd-x64@4.53.3": 313 | version "4.53.3" 314 | resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz#2301289094d49415a380cf942219ae9d8b127440" 315 | integrity sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q== 316 | 317 | "@rollup/rollup-linux-arm-gnueabihf@4.53.3": 318 | version "4.53.3" 319 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz#1d03d776f2065e09fc141df7d143476e94acca88" 320 | integrity sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw== 321 | 322 | "@rollup/rollup-linux-arm-musleabihf@4.53.3": 323 | version "4.53.3" 324 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz#8623de0e040b2fd52a541c602688228f51f96701" 325 | integrity sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg== 326 | 327 | "@rollup/rollup-linux-arm64-gnu@4.53.3": 328 | version "4.53.3" 329 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz#ce2d1999bc166277935dde0301cde3dd0417fb6e" 330 | integrity sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w== 331 | 332 | "@rollup/rollup-linux-arm64-musl@4.53.3": 333 | version "4.53.3" 334 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz#88c2523778444da952651a2219026416564a4899" 335 | integrity sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A== 336 | 337 | "@rollup/rollup-linux-loong64-gnu@4.53.3": 338 | version "4.53.3" 339 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz#578ca2220a200ac4226c536c10c8cc6e4f276714" 340 | integrity sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g== 341 | 342 | "@rollup/rollup-linux-ppc64-gnu@4.53.3": 343 | version "4.53.3" 344 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz#aa338d3effd4168a20a5023834a74ba2c3081293" 345 | integrity sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw== 346 | 347 | "@rollup/rollup-linux-riscv64-gnu@4.53.3": 348 | version "4.53.3" 349 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz#16ba582f9f6cff58119aa242782209b1557a1508" 350 | integrity sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g== 351 | 352 | "@rollup/rollup-linux-riscv64-musl@4.53.3": 353 | version "4.53.3" 354 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz#e404a77ebd6378483888b8064c703adb011340ab" 355 | integrity sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A== 356 | 357 | "@rollup/rollup-linux-s390x-gnu@4.53.3": 358 | version "4.53.3" 359 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz#92ad52d306227c56bec43d96ad2164495437ffe6" 360 | integrity sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg== 361 | 362 | "@rollup/rollup-linux-x64-gnu@4.53.3": 363 | version "4.53.3" 364 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz#fd0dea3bb9aa07e7083579f25e1c2285a46cb9fa" 365 | integrity sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w== 366 | 367 | "@rollup/rollup-linux-x64-musl@4.53.3": 368 | version "4.53.3" 369 | resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz#37a3efb09f18d555f8afc490e1f0444885de8951" 370 | integrity sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q== 371 | 372 | "@rollup/rollup-openharmony-arm64@4.53.3": 373 | version "4.53.3" 374 | resolved "https://registry.yarnpkg.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz#c489bec9f4f8320d42c9b324cca220c90091c1f7" 375 | integrity sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw== 376 | 377 | "@rollup/rollup-win32-arm64-msvc@4.53.3": 378 | version "4.53.3" 379 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz#152832b5f79dc22d1606fac3db946283601b7080" 380 | integrity sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw== 381 | 382 | "@rollup/rollup-win32-ia32-msvc@4.53.3": 383 | version "4.53.3" 384 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz#54d91b2bb3bf3e9f30d32b72065a4e52b3a172a5" 385 | integrity sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA== 386 | 387 | "@rollup/rollup-win32-x64-gnu@4.53.3": 388 | version "4.53.3" 389 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz#df9df03e61a003873efec8decd2034e7f135c71e" 390 | integrity sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg== 391 | 392 | "@rollup/rollup-win32-x64-msvc@4.53.3": 393 | version "4.53.3" 394 | resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz#38ae84f4c04226c1d56a3b17296ef1e0460ecdfe" 395 | integrity sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ== 396 | 397 | "@rushstack/node-core-library@4.0.2": 398 | version "4.0.2" 399 | resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz#e26854a3314b279d57e8abdb4acce7797d02f554" 400 | integrity sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg== 401 | dependencies: 402 | fs-extra "~7.0.1" 403 | import-lazy "~4.0.0" 404 | jju "~1.4.0" 405 | resolve "~1.22.1" 406 | semver "~7.5.4" 407 | z-schema "~5.0.2" 408 | 409 | "@rushstack/rig-package@0.5.2": 410 | version "0.5.2" 411 | resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.5.2.tgz#0e23a115904678717a74049661931c0b37dd5495" 412 | integrity sha512-mUDecIJeH3yYGZs2a48k+pbhM6JYwWlgjs2Ca5f2n1G2/kgdgP9D/07oglEGf6mRyXEnazhEENeYTSNDRCwdqA== 413 | dependencies: 414 | resolve "~1.22.1" 415 | strip-json-comments "~3.1.1" 416 | 417 | "@rushstack/terminal@0.10.0": 418 | version "0.10.0" 419 | resolved "https://registry.yarnpkg.com/@rushstack/terminal/-/terminal-0.10.0.tgz#e81909fa0e5c8016b6df4739f0f381f44358269f" 420 | integrity sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw== 421 | dependencies: 422 | "@rushstack/node-core-library" "4.0.2" 423 | supports-color "~8.1.1" 424 | 425 | "@rushstack/ts-command-line@4.19.1": 426 | version "4.19.1" 427 | resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.19.1.tgz#288ee54dd607e558a8be07705869c16c31b5c3ef" 428 | integrity sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg== 429 | dependencies: 430 | "@rushstack/terminal" "0.10.0" 431 | "@types/argparse" "1.0.38" 432 | argparse "~1.0.9" 433 | string-argv "~0.3.1" 434 | 435 | "@tsconfig/node10@^1.0.7": 436 | version "1.0.11" 437 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" 438 | integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== 439 | 440 | "@tsconfig/node12@^1.0.7": 441 | version "1.0.11" 442 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" 443 | integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== 444 | 445 | "@tsconfig/node14@^1.0.0": 446 | version "1.0.3" 447 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" 448 | integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== 449 | 450 | "@tsconfig/node16@^1.0.2": 451 | version "1.0.4" 452 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" 453 | integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== 454 | 455 | "@types/argparse@1.0.38": 456 | version "1.0.38" 457 | resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" 458 | integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== 459 | 460 | "@types/chai@^4.3.16": 461 | version "4.3.16" 462 | resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.16.tgz#b1572967f0b8b60bf3f87fe1d854a5604ea70c82" 463 | integrity sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ== 464 | 465 | "@types/debounce@^1.2.4": 466 | version "1.2.4" 467 | resolved "https://registry.yarnpkg.com/@types/debounce/-/debounce-1.2.4.tgz#cb7e85d9ad5ababfac2f27183e8ac8b576b2abb3" 468 | integrity sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw== 469 | 470 | "@types/estree@1.0.8": 471 | version "1.0.8" 472 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" 473 | integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== 474 | 475 | "@types/estree@^1.0.0": 476 | version "1.0.5" 477 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" 478 | integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== 479 | 480 | "@types/json-schema@^7.0.3": 481 | version "7.0.7" 482 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" 483 | integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== 484 | 485 | "@types/json5@^0.0.29": 486 | version "0.0.29" 487 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 488 | integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= 489 | 490 | "@types/mocha@^10.0.6": 491 | version "10.0.6" 492 | resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.6.tgz#818551d39113081048bdddbef96701b4e8bb9d1b" 493 | integrity sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg== 494 | 495 | "@types/node@^24.0.0": 496 | version "24.10.1" 497 | resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01" 498 | integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ== 499 | dependencies: 500 | undici-types "~7.16.0" 501 | 502 | "@typescript-eslint/eslint-plugin@^4.6.1": 503 | version "4.22.0" 504 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz#3d5f29bb59e61a9dba1513d491b059e536e16dbc" 505 | integrity sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA== 506 | dependencies: 507 | "@typescript-eslint/experimental-utils" "4.22.0" 508 | "@typescript-eslint/scope-manager" "4.22.0" 509 | debug "^4.1.1" 510 | functional-red-black-tree "^1.0.1" 511 | lodash "^4.17.15" 512 | regexpp "^3.0.0" 513 | semver "^7.3.2" 514 | tsutils "^3.17.1" 515 | 516 | "@typescript-eslint/experimental-utils@4.22.0": 517 | version "4.22.0" 518 | resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz#68765167cca531178e7b650a53456e6e0bef3b1f" 519 | integrity sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg== 520 | dependencies: 521 | "@types/json-schema" "^7.0.3" 522 | "@typescript-eslint/scope-manager" "4.22.0" 523 | "@typescript-eslint/types" "4.22.0" 524 | "@typescript-eslint/typescript-estree" "4.22.0" 525 | eslint-scope "^5.0.0" 526 | eslint-utils "^2.0.0" 527 | 528 | "@typescript-eslint/parser@^4.6.1": 529 | version "4.22.0" 530 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.22.0.tgz#e1637327fcf796c641fe55f73530e90b16ac8fe8" 531 | integrity sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q== 532 | dependencies: 533 | "@typescript-eslint/scope-manager" "4.22.0" 534 | "@typescript-eslint/types" "4.22.0" 535 | "@typescript-eslint/typescript-estree" "4.22.0" 536 | debug "^4.1.1" 537 | 538 | "@typescript-eslint/scope-manager@4.22.0": 539 | version "4.22.0" 540 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz#ed411545e61161a8d702e703a4b7d96ec065b09a" 541 | integrity sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q== 542 | dependencies: 543 | "@typescript-eslint/types" "4.22.0" 544 | "@typescript-eslint/visitor-keys" "4.22.0" 545 | 546 | "@typescript-eslint/types@4.22.0": 547 | version "4.22.0" 548 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.22.0.tgz#0ca6fde5b68daf6dba133f30959cc0688c8dd0b6" 549 | integrity sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA== 550 | 551 | "@typescript-eslint/typescript-estree@4.22.0": 552 | version "4.22.0" 553 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz#b5d95d6d366ff3b72f5168c75775a3e46250d05c" 554 | integrity sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg== 555 | dependencies: 556 | "@typescript-eslint/types" "4.22.0" 557 | "@typescript-eslint/visitor-keys" "4.22.0" 558 | debug "^4.1.1" 559 | globby "^11.0.1" 560 | is-glob "^4.0.1" 561 | semver "^7.3.2" 562 | tsutils "^3.17.1" 563 | 564 | "@typescript-eslint/visitor-keys@4.22.0": 565 | version "4.22.0" 566 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz#169dae26d3c122935da7528c839f42a8a42f6e47" 567 | integrity sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw== 568 | dependencies: 569 | "@typescript-eslint/types" "4.22.0" 570 | eslint-visitor-keys "^2.0.0" 571 | 572 | "@volar/language-core@1.11.1", "@volar/language-core@~1.11.1": 573 | version "1.11.1" 574 | resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.11.1.tgz#ecdf12ea8dc35fb8549e517991abcbf449a5ad4f" 575 | integrity sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw== 576 | dependencies: 577 | "@volar/source-map" "1.11.1" 578 | 579 | "@volar/source-map@1.11.1", "@volar/source-map@~1.11.1": 580 | version "1.11.1" 581 | resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.11.1.tgz#535b0328d9e2b7a91dff846cab4058e191f4452f" 582 | integrity sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg== 583 | dependencies: 584 | muggle-string "^0.3.1" 585 | 586 | "@volar/typescript@~1.11.1": 587 | version "1.11.1" 588 | resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.11.1.tgz#ba86c6f326d88e249c7f5cfe4b765be3946fd627" 589 | integrity sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ== 590 | dependencies: 591 | "@volar/language-core" "1.11.1" 592 | path-browserify "^1.0.1" 593 | 594 | "@vue/compiler-core@3.4.29": 595 | version "3.4.29" 596 | resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.29.tgz#6c0878e98716b1cb64e7d44ed07feda96ab7f639" 597 | integrity sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg== 598 | dependencies: 599 | "@babel/parser" "^7.24.7" 600 | "@vue/shared" "3.4.29" 601 | entities "^4.5.0" 602 | estree-walker "^2.0.2" 603 | source-map-js "^1.2.0" 604 | 605 | "@vue/compiler-dom@^3.3.0": 606 | version "3.4.29" 607 | resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.29.tgz#c8f55528c8d8c8c36687d56a19e53b268c7d6c56" 608 | integrity sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w== 609 | dependencies: 610 | "@vue/compiler-core" "3.4.29" 611 | "@vue/shared" "3.4.29" 612 | 613 | "@vue/language-core@1.8.27", "@vue/language-core@^1.8.27": 614 | version "1.8.27" 615 | resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-1.8.27.tgz#2ca6892cb524e024a44e554e4c55d7a23e72263f" 616 | integrity sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA== 617 | dependencies: 618 | "@volar/language-core" "~1.11.1" 619 | "@volar/source-map" "~1.11.1" 620 | "@vue/compiler-dom" "^3.3.0" 621 | "@vue/shared" "^3.3.0" 622 | computeds "^0.0.1" 623 | minimatch "^9.0.3" 624 | muggle-string "^0.3.1" 625 | path-browserify "^1.0.1" 626 | vue-template-compiler "^2.7.14" 627 | 628 | "@vue/shared@3.4.29", "@vue/shared@^3.3.0": 629 | version "3.4.29" 630 | resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.29.tgz#84908c284e88a269f8bceee59707b14eb4b2d284" 631 | integrity sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA== 632 | 633 | acorn-jsx@^5.3.1: 634 | version "5.3.1" 635 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" 636 | integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== 637 | 638 | acorn-walk@^8.1.1: 639 | version "8.3.3" 640 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" 641 | integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== 642 | dependencies: 643 | acorn "^8.11.0" 644 | 645 | acorn@^7.4.0: 646 | version "7.4.1" 647 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 648 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 649 | 650 | acorn@^8.11.0, acorn@^8.4.1: 651 | version "8.12.0" 652 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c" 653 | integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw== 654 | 655 | ajv@^6.10.0, ajv@^6.12.4, ajv@~6.12.6: 656 | version "6.12.6" 657 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 658 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 659 | dependencies: 660 | fast-deep-equal "^3.1.1" 661 | fast-json-stable-stringify "^2.0.0" 662 | json-schema-traverse "^0.4.1" 663 | uri-js "^4.2.2" 664 | 665 | ajv@^8.0.1: 666 | version "8.1.0" 667 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.1.0.tgz#45d5d3d36c7cdd808930cc3e603cf6200dbeb736" 668 | integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== 669 | dependencies: 670 | fast-deep-equal "^3.1.1" 671 | json-schema-traverse "^1.0.0" 672 | require-from-string "^2.0.2" 673 | uri-js "^4.2.2" 674 | 675 | ansi-colors@3.2.3: 676 | version "3.2.3" 677 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" 678 | 679 | ansi-colors@^4.1.1: 680 | version "4.1.1" 681 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 682 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 683 | 684 | ansi-regex@^3.0.0: 685 | version "3.0.0" 686 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 687 | 688 | ansi-regex@^4.1.0: 689 | version "4.1.0" 690 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 691 | 692 | ansi-regex@^5.0.0: 693 | version "5.0.0" 694 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 695 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 696 | 697 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 698 | version "3.2.1" 699 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 700 | dependencies: 701 | color-convert "^1.9.0" 702 | 703 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 704 | version "4.3.0" 705 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 706 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 707 | dependencies: 708 | color-convert "^2.0.1" 709 | 710 | anymatch@~3.1.1: 711 | version "3.1.1" 712 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 713 | dependencies: 714 | normalize-path "^3.0.0" 715 | picomatch "^2.0.4" 716 | 717 | arg@^4.1.0: 718 | version "4.1.3" 719 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 720 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 721 | 722 | argparse@^1.0.7, argparse@~1.0.9: 723 | version "1.0.10" 724 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 725 | dependencies: 726 | sprintf-js "~1.0.2" 727 | 728 | array-includes@^3.1.1: 729 | version "3.1.3" 730 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" 731 | integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== 732 | dependencies: 733 | call-bind "^1.0.2" 734 | define-properties "^1.1.3" 735 | es-abstract "^1.18.0-next.2" 736 | get-intrinsic "^1.1.1" 737 | is-string "^1.0.5" 738 | 739 | array-union@^2.1.0: 740 | version "2.1.0" 741 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 742 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 743 | 744 | array.prototype.flat@^1.2.3: 745 | version "1.2.4" 746 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" 747 | integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== 748 | dependencies: 749 | call-bind "^1.0.0" 750 | define-properties "^1.1.3" 751 | es-abstract "^1.18.0-next.1" 752 | 753 | assertion-error@^1.1.0: 754 | version "1.1.0" 755 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" 756 | 757 | astral-regex@^2.0.0: 758 | version "2.0.0" 759 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 760 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 761 | 762 | balanced-match@^1.0.0: 763 | version "1.0.0" 764 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 765 | 766 | binary-extensions@^2.0.0: 767 | version "2.0.0" 768 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" 769 | 770 | brace-expansion@^1.1.7: 771 | version "1.1.11" 772 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 773 | dependencies: 774 | balanced-match "^1.0.0" 775 | concat-map "0.0.1" 776 | 777 | brace-expansion@^2.0.1: 778 | version "2.0.1" 779 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 780 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 781 | dependencies: 782 | balanced-match "^1.0.0" 783 | 784 | braces@^3.0.1, braces@~3.0.2: 785 | version "3.0.3" 786 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" 787 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== 788 | dependencies: 789 | fill-range "^7.1.1" 790 | 791 | browser-stdout@1.3.1: 792 | version "1.3.1" 793 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 794 | 795 | call-bind@^1.0.0, call-bind@^1.0.2: 796 | version "1.0.2" 797 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 798 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 799 | dependencies: 800 | function-bind "^1.1.1" 801 | get-intrinsic "^1.0.2" 802 | 803 | callsites@^3.0.0: 804 | version "3.1.0" 805 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 806 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 807 | 808 | camelcase@^5.0.0: 809 | version "5.3.1" 810 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 811 | 812 | chai@^4.2.0: 813 | version "4.2.0" 814 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" 815 | dependencies: 816 | assertion-error "^1.1.0" 817 | check-error "^1.0.2" 818 | deep-eql "^3.0.1" 819 | get-func-name "^2.0.0" 820 | pathval "^1.1.0" 821 | type-detect "^4.0.5" 822 | 823 | chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: 824 | version "2.4.2" 825 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 826 | dependencies: 827 | ansi-styles "^3.2.1" 828 | escape-string-regexp "^1.0.5" 829 | supports-color "^5.3.0" 830 | 831 | chalk@^4.0.0: 832 | version "4.1.1" 833 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" 834 | integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== 835 | dependencies: 836 | ansi-styles "^4.1.0" 837 | supports-color "^7.1.0" 838 | 839 | check-error@^1.0.2: 840 | version "1.0.2" 841 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 842 | 843 | chokidar@3.3.0: 844 | version "3.3.0" 845 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" 846 | dependencies: 847 | anymatch "~3.1.1" 848 | braces "~3.0.2" 849 | glob-parent "~5.1.0" 850 | is-binary-path "~2.1.0" 851 | is-glob "~4.0.1" 852 | normalize-path "~3.0.0" 853 | readdirp "~3.2.0" 854 | optionalDependencies: 855 | fsevents "~2.1.1" 856 | 857 | cliui@^5.0.0: 858 | version "5.0.0" 859 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" 860 | dependencies: 861 | string-width "^3.1.0" 862 | strip-ansi "^5.2.0" 863 | wrap-ansi "^5.1.0" 864 | 865 | codex-notifier@^1.1.2: 866 | version "1.1.2" 867 | resolved "https://registry.yarnpkg.com/codex-notifier/-/codex-notifier-1.1.2.tgz#a733079185f4c927fa296f1d71eb8753fe080895" 868 | integrity sha512-DCp6xe/LGueJ1N5sXEwcBc3r3PyVkEEDNWCVigfvywAkeXcZMk9K41a31tkEFBW0Ptlwji6/JlAb49E3Yrxbtg== 869 | 870 | codex-tooltip@^1.0.5: 871 | version "1.0.5" 872 | resolved "https://registry.yarnpkg.com/codex-tooltip/-/codex-tooltip-1.0.5.tgz#ba25fd5b3a58ba2f73fd667c2b46987ffd1edef2" 873 | integrity sha512-IuA8LeyLU5p1B+HyhOsqR6oxyFQ11k3i9e9aXw40CrHFTRO2Y1npNBVU3W1SvhKAbUU7R/YikUBdcYFP0RcJag== 874 | 875 | color-convert@^1.9.0: 876 | version "1.9.3" 877 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 878 | dependencies: 879 | color-name "1.1.3" 880 | 881 | color-convert@^2.0.1: 882 | version "2.0.1" 883 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 884 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 885 | dependencies: 886 | color-name "~1.1.4" 887 | 888 | color-name@1.1.3: 889 | version "1.1.3" 890 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 891 | 892 | color-name@~1.1.4: 893 | version "1.1.4" 894 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 895 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 896 | 897 | commander@^10.0.0: 898 | version "10.0.1" 899 | resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" 900 | integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== 901 | 902 | comment-parser@^0.7.6: 903 | version "0.7.6" 904 | resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-0.7.6.tgz#0e743a53c8e646c899a1323db31f6cd337b10f12" 905 | integrity sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg== 906 | 907 | computeds@^0.0.1: 908 | version "0.0.1" 909 | resolved "https://registry.yarnpkg.com/computeds/-/computeds-0.0.1.tgz#215b08a4ba3e08a11ff6eee5d6d8d7166a97ce2e" 910 | integrity sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q== 911 | 912 | concat-map@0.0.1: 913 | version "0.0.1" 914 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 915 | 916 | contains-path@^0.1.0: 917 | version "0.1.0" 918 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" 919 | integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= 920 | 921 | create-require@^1.1.0: 922 | version "1.1.1" 923 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 924 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 925 | 926 | cross-spawn@^7.0.2: 927 | version "7.0.3" 928 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 929 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 930 | dependencies: 931 | path-key "^3.1.0" 932 | shebang-command "^2.0.0" 933 | which "^2.0.1" 934 | 935 | cssesc@^3.0.0: 936 | version "3.0.0" 937 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 938 | 939 | de-indent@^1.0.2: 940 | version "1.0.2" 941 | resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" 942 | integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== 943 | 944 | debounce@^1.2.0: 945 | version "1.2.0" 946 | resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131" 947 | 948 | debug@3.2.6: 949 | version "3.2.6" 950 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 951 | dependencies: 952 | ms "^2.1.1" 953 | 954 | debug@^2.6.9: 955 | version "2.6.9" 956 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 957 | dependencies: 958 | ms "2.0.0" 959 | 960 | debug@^4.0.1, debug@^4.1.1, debug@^4.3.1: 961 | version "4.3.1" 962 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" 963 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 964 | dependencies: 965 | ms "2.1.2" 966 | 967 | debug@^4.3.4: 968 | version "4.3.5" 969 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" 970 | integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== 971 | dependencies: 972 | ms "2.1.2" 973 | 974 | decamelize@^1.2.0: 975 | version "1.2.0" 976 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 977 | 978 | deep-eql@^3.0.1: 979 | version "3.0.1" 980 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" 981 | dependencies: 982 | type-detect "^4.0.0" 983 | 984 | deep-is@^0.1.3: 985 | version "0.1.3" 986 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 987 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 988 | 989 | define-properties@^1.1.2, define-properties@^1.1.3: 990 | version "1.1.3" 991 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 992 | dependencies: 993 | object-keys "^1.0.12" 994 | 995 | diff@3.5.0: 996 | version "3.5.0" 997 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 998 | 999 | diff@^4.0.1: 1000 | version "4.0.2" 1001 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 1002 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 1003 | 1004 | dir-glob@^3.0.1: 1005 | version "3.0.1" 1006 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1007 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1008 | dependencies: 1009 | path-type "^4.0.0" 1010 | 1011 | doctrine@1.5.0: 1012 | version "1.5.0" 1013 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 1014 | integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= 1015 | dependencies: 1016 | esutils "^2.0.2" 1017 | isarray "^1.0.0" 1018 | 1019 | doctrine@^3.0.0: 1020 | version "3.0.0" 1021 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 1022 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1023 | dependencies: 1024 | esutils "^2.0.2" 1025 | 1026 | emoji-regex@^7.0.1: 1027 | version "7.0.3" 1028 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 1029 | 1030 | emoji-regex@^8.0.0: 1031 | version "8.0.0" 1032 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1033 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1034 | 1035 | enquirer@^2.3.5: 1036 | version "2.3.6" 1037 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 1038 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 1039 | dependencies: 1040 | ansi-colors "^4.1.1" 1041 | 1042 | entities@^4.5.0: 1043 | version "4.5.0" 1044 | resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" 1045 | integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== 1046 | 1047 | error-ex@^1.2.0: 1048 | version "1.3.2" 1049 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1050 | dependencies: 1051 | is-arrayish "^0.2.1" 1052 | 1053 | es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: 1054 | version "1.17.5" 1055 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" 1056 | dependencies: 1057 | es-to-primitive "^1.2.1" 1058 | function-bind "^1.1.1" 1059 | has "^1.0.3" 1060 | has-symbols "^1.0.1" 1061 | is-callable "^1.1.5" 1062 | is-regex "^1.0.5" 1063 | object-inspect "^1.7.0" 1064 | object-keys "^1.1.1" 1065 | object.assign "^4.1.0" 1066 | string.prototype.trimleft "^2.1.1" 1067 | string.prototype.trimright "^2.1.1" 1068 | 1069 | es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: 1070 | version "1.18.0" 1071 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" 1072 | integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== 1073 | dependencies: 1074 | call-bind "^1.0.2" 1075 | es-to-primitive "^1.2.1" 1076 | function-bind "^1.1.1" 1077 | get-intrinsic "^1.1.1" 1078 | has "^1.0.3" 1079 | has-symbols "^1.0.2" 1080 | is-callable "^1.2.3" 1081 | is-negative-zero "^2.0.1" 1082 | is-regex "^1.1.2" 1083 | is-string "^1.0.5" 1084 | object-inspect "^1.9.0" 1085 | object-keys "^1.1.1" 1086 | object.assign "^4.1.2" 1087 | string.prototype.trimend "^1.0.4" 1088 | string.prototype.trimstart "^1.0.4" 1089 | unbox-primitive "^1.0.0" 1090 | 1091 | es-to-primitive@^1.2.1: 1092 | version "1.2.1" 1093 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 1094 | dependencies: 1095 | is-callable "^1.1.4" 1096 | is-date-object "^1.0.1" 1097 | is-symbol "^1.0.2" 1098 | 1099 | esbuild@^0.21.3: 1100 | version "0.21.5" 1101 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d" 1102 | integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== 1103 | optionalDependencies: 1104 | "@esbuild/aix-ppc64" "0.21.5" 1105 | "@esbuild/android-arm" "0.21.5" 1106 | "@esbuild/android-arm64" "0.21.5" 1107 | "@esbuild/android-x64" "0.21.5" 1108 | "@esbuild/darwin-arm64" "0.21.5" 1109 | "@esbuild/darwin-x64" "0.21.5" 1110 | "@esbuild/freebsd-arm64" "0.21.5" 1111 | "@esbuild/freebsd-x64" "0.21.5" 1112 | "@esbuild/linux-arm" "0.21.5" 1113 | "@esbuild/linux-arm64" "0.21.5" 1114 | "@esbuild/linux-ia32" "0.21.5" 1115 | "@esbuild/linux-loong64" "0.21.5" 1116 | "@esbuild/linux-mips64el" "0.21.5" 1117 | "@esbuild/linux-ppc64" "0.21.5" 1118 | "@esbuild/linux-riscv64" "0.21.5" 1119 | "@esbuild/linux-s390x" "0.21.5" 1120 | "@esbuild/linux-x64" "0.21.5" 1121 | "@esbuild/netbsd-x64" "0.21.5" 1122 | "@esbuild/openbsd-x64" "0.21.5" 1123 | "@esbuild/sunos-x64" "0.21.5" 1124 | "@esbuild/win32-arm64" "0.21.5" 1125 | "@esbuild/win32-ia32" "0.21.5" 1126 | "@esbuild/win32-x64" "0.21.5" 1127 | 1128 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: 1129 | version "1.0.5" 1130 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1131 | 1132 | eslint-config-codex@^1.6.1: 1133 | version "1.6.1" 1134 | resolved "https://registry.yarnpkg.com/eslint-config-codex/-/eslint-config-codex-1.6.1.tgz#bd26d46d77967e1eb7f8b8a0c317c5c2bc913b53" 1135 | integrity sha512-gtXhjaQEtdi1VBvGNP9mOaArIB2021FM7C/q+bJFcKjUBtSVX4OnLmgg6ieKBdELquzhnpNzXqtIdE/oMEaCdQ== 1136 | dependencies: 1137 | "@typescript-eslint/eslint-plugin" "^4.6.1" 1138 | "@typescript-eslint/parser" "^4.6.1" 1139 | eslint-config-standard "16.0.1" 1140 | eslint-plugin-import "2.22.1" 1141 | eslint-plugin-jsdoc "^30.7.7" 1142 | eslint-plugin-node "11.1.0" 1143 | eslint-plugin-promise "4.2.1" 1144 | eslint-plugin-standard "4.0.2" 1145 | 1146 | eslint-config-standard@16.0.1: 1147 | version "16.0.1" 1148 | resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.1.tgz#9a385eea27f96b7918cb53f07e01e9d10cc56401" 1149 | integrity sha512-WBBiQQZdaPyL+4sPkGWhWrHCDtvJoU195B9j8yXE9uFQnX34gMXI5CeBRm95gx3PMEZPM5OpwET10hH4F4SxCA== 1150 | 1151 | eslint-import-resolver-node@^0.3.4: 1152 | version "0.3.4" 1153 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" 1154 | integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== 1155 | dependencies: 1156 | debug "^2.6.9" 1157 | resolve "^1.13.1" 1158 | 1159 | eslint-module-utils@^2.6.0: 1160 | version "2.6.0" 1161 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" 1162 | integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== 1163 | dependencies: 1164 | debug "^2.6.9" 1165 | pkg-dir "^2.0.0" 1166 | 1167 | eslint-plugin-es@^3.0.0: 1168 | version "3.0.1" 1169 | resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" 1170 | integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== 1171 | dependencies: 1172 | eslint-utils "^2.0.0" 1173 | regexpp "^3.0.0" 1174 | 1175 | eslint-plugin-import@2.22.1: 1176 | version "2.22.1" 1177 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" 1178 | integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== 1179 | dependencies: 1180 | array-includes "^3.1.1" 1181 | array.prototype.flat "^1.2.3" 1182 | contains-path "^0.1.0" 1183 | debug "^2.6.9" 1184 | doctrine "1.5.0" 1185 | eslint-import-resolver-node "^0.3.4" 1186 | eslint-module-utils "^2.6.0" 1187 | has "^1.0.3" 1188 | minimatch "^3.0.4" 1189 | object.values "^1.1.1" 1190 | read-pkg-up "^2.0.0" 1191 | resolve "^1.17.0" 1192 | tsconfig-paths "^3.9.0" 1193 | 1194 | eslint-plugin-jsdoc@^30.7.7: 1195 | version "30.7.13" 1196 | resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.13.tgz#52e5c74fb806d3bbeb51d04a0c829508c3c6b563" 1197 | integrity sha512-YM4WIsmurrp0rHX6XiXQppqKB8Ne5ATiZLJe2+/fkp9l9ExXFr43BbAbjZaVrpCT+tuPYOZ8k1MICARHnURUNQ== 1198 | dependencies: 1199 | comment-parser "^0.7.6" 1200 | debug "^4.3.1" 1201 | jsdoctypeparser "^9.0.0" 1202 | lodash "^4.17.20" 1203 | regextras "^0.7.1" 1204 | semver "^7.3.4" 1205 | spdx-expression-parse "^3.0.1" 1206 | 1207 | eslint-plugin-node@11.1.0: 1208 | version "11.1.0" 1209 | resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" 1210 | integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== 1211 | dependencies: 1212 | eslint-plugin-es "^3.0.0" 1213 | eslint-utils "^2.0.0" 1214 | ignore "^5.1.1" 1215 | minimatch "^3.0.4" 1216 | resolve "^1.10.1" 1217 | semver "^6.1.0" 1218 | 1219 | eslint-plugin-promise@4.2.1: 1220 | version "4.2.1" 1221 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a" 1222 | integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw== 1223 | 1224 | eslint-plugin-standard@4.0.2: 1225 | version "4.0.2" 1226 | resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.2.tgz#021211a9f077e63a6847e7bb9ab4247327ac8e0c" 1227 | integrity sha512-nKptN8l7jksXkwFk++PhJB3cCDTcXOEyhISIN86Ue2feJ1LFyY3PrY3/xT2keXlJSY5bpmbiTG0f885/YKAvTA== 1228 | 1229 | eslint-scope@^5.0.0, eslint-scope@^5.1.1: 1230 | version "5.1.1" 1231 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 1232 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 1233 | dependencies: 1234 | esrecurse "^4.3.0" 1235 | estraverse "^4.1.1" 1236 | 1237 | eslint-utils@^2.0.0, eslint-utils@^2.1.0: 1238 | version "2.1.0" 1239 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" 1240 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== 1241 | dependencies: 1242 | eslint-visitor-keys "^1.1.0" 1243 | 1244 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: 1245 | version "1.3.0" 1246 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" 1247 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== 1248 | 1249 | eslint-visitor-keys@^2.0.0: 1250 | version "2.0.0" 1251 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" 1252 | integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== 1253 | 1254 | eslint@^7.25.0: 1255 | version "7.25.0" 1256 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67" 1257 | integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw== 1258 | dependencies: 1259 | "@babel/code-frame" "7.12.11" 1260 | "@eslint/eslintrc" "^0.4.0" 1261 | ajv "^6.10.0" 1262 | chalk "^4.0.0" 1263 | cross-spawn "^7.0.2" 1264 | debug "^4.0.1" 1265 | doctrine "^3.0.0" 1266 | enquirer "^2.3.5" 1267 | eslint-scope "^5.1.1" 1268 | eslint-utils "^2.1.0" 1269 | eslint-visitor-keys "^2.0.0" 1270 | espree "^7.3.1" 1271 | esquery "^1.4.0" 1272 | esutils "^2.0.2" 1273 | file-entry-cache "^6.0.1" 1274 | functional-red-black-tree "^1.0.1" 1275 | glob-parent "^5.0.0" 1276 | globals "^13.6.0" 1277 | ignore "^4.0.6" 1278 | import-fresh "^3.0.0" 1279 | imurmurhash "^0.1.4" 1280 | is-glob "^4.0.0" 1281 | js-yaml "^3.13.1" 1282 | json-stable-stringify-without-jsonify "^1.0.1" 1283 | levn "^0.4.1" 1284 | lodash "^4.17.21" 1285 | minimatch "^3.0.4" 1286 | natural-compare "^1.4.0" 1287 | optionator "^0.9.1" 1288 | progress "^2.0.0" 1289 | regexpp "^3.1.0" 1290 | semver "^7.2.1" 1291 | strip-ansi "^6.0.0" 1292 | strip-json-comments "^3.1.0" 1293 | table "^6.0.4" 1294 | text-table "^0.2.0" 1295 | v8-compile-cache "^2.0.3" 1296 | 1297 | espree@^7.3.0, espree@^7.3.1: 1298 | version "7.3.1" 1299 | resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" 1300 | integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== 1301 | dependencies: 1302 | acorn "^7.4.0" 1303 | acorn-jsx "^5.3.1" 1304 | eslint-visitor-keys "^1.3.0" 1305 | 1306 | esprima@^4.0.0: 1307 | version "4.0.1" 1308 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1309 | 1310 | esquery@^1.4.0: 1311 | version "1.4.0" 1312 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 1313 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 1314 | dependencies: 1315 | estraverse "^5.1.0" 1316 | 1317 | esrecurse@^4.3.0: 1318 | version "4.3.0" 1319 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1320 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1321 | dependencies: 1322 | estraverse "^5.2.0" 1323 | 1324 | estraverse@^4.1.1: 1325 | version "4.3.0" 1326 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1327 | 1328 | estraverse@^5.1.0, estraverse@^5.2.0: 1329 | version "5.2.0" 1330 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" 1331 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 1332 | 1333 | estree-walker@^2.0.2: 1334 | version "2.0.2" 1335 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 1336 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 1337 | 1338 | esutils@^2.0.2: 1339 | version "2.0.3" 1340 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1341 | 1342 | fast-deep-equal@^3.1.1: 1343 | version "3.1.1" 1344 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" 1345 | 1346 | fast-glob@^3.1.1: 1347 | version "3.2.5" 1348 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" 1349 | integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== 1350 | dependencies: 1351 | "@nodelib/fs.stat" "^2.0.2" 1352 | "@nodelib/fs.walk" "^1.2.3" 1353 | glob-parent "^5.1.0" 1354 | merge2 "^1.3.0" 1355 | micromatch "^4.0.2" 1356 | picomatch "^2.2.1" 1357 | 1358 | fast-json-stable-stringify@^2.0.0: 1359 | version "2.1.0" 1360 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1361 | 1362 | fast-levenshtein@^2.0.6: 1363 | version "2.0.6" 1364 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1365 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1366 | 1367 | fastq@^1.6.0: 1368 | version "1.11.0" 1369 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" 1370 | integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== 1371 | dependencies: 1372 | reusify "^1.0.4" 1373 | 1374 | file-entry-cache@^6.0.1: 1375 | version "6.0.1" 1376 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1377 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1378 | dependencies: 1379 | flat-cache "^3.0.4" 1380 | 1381 | fill-range@^7.1.1: 1382 | version "7.1.1" 1383 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" 1384 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== 1385 | dependencies: 1386 | to-regex-range "^5.0.1" 1387 | 1388 | find-up@3.0.0, find-up@^3.0.0: 1389 | version "3.0.0" 1390 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 1391 | dependencies: 1392 | locate-path "^3.0.0" 1393 | 1394 | find-up@^2.0.0, find-up@^2.1.0: 1395 | version "2.1.0" 1396 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1397 | dependencies: 1398 | locate-path "^2.0.0" 1399 | 1400 | flat-cache@^3.0.4: 1401 | version "3.0.4" 1402 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 1403 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 1404 | dependencies: 1405 | flatted "^3.1.0" 1406 | rimraf "^3.0.2" 1407 | 1408 | flat@^4.1.0: 1409 | version "4.1.0" 1410 | resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" 1411 | dependencies: 1412 | is-buffer "~2.0.3" 1413 | 1414 | flatted@^3.1.0: 1415 | version "3.1.1" 1416 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" 1417 | integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== 1418 | 1419 | fs-extra@~7.0.1: 1420 | version "7.0.1" 1421 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" 1422 | integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== 1423 | dependencies: 1424 | graceful-fs "^4.1.2" 1425 | jsonfile "^4.0.0" 1426 | universalify "^0.1.0" 1427 | 1428 | fs.realpath@^1.0.0: 1429 | version "1.0.0" 1430 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1431 | 1432 | fsevents@~2.1.1: 1433 | version "2.1.3" 1434 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" 1435 | 1436 | fsevents@~2.3.2, fsevents@~2.3.3: 1437 | version "2.3.3" 1438 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" 1439 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 1440 | 1441 | function-bind@^1.1.1: 1442 | version "1.1.1" 1443 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1444 | 1445 | function-bind@^1.1.2: 1446 | version "1.1.2" 1447 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 1448 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1449 | 1450 | functional-red-black-tree@^1.0.1: 1451 | version "1.0.1" 1452 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1453 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 1454 | 1455 | get-caller-file@^2.0.1: 1456 | version "2.0.5" 1457 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1458 | 1459 | get-func-name@^2.0.0: 1460 | version "2.0.0" 1461 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" 1462 | 1463 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: 1464 | version "1.1.1" 1465 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 1466 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 1467 | dependencies: 1468 | function-bind "^1.1.1" 1469 | has "^1.0.3" 1470 | has-symbols "^1.0.1" 1471 | 1472 | glob-parent@^5.0.0, glob-parent@^5.1.0: 1473 | version "5.1.2" 1474 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1475 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1476 | dependencies: 1477 | is-glob "^4.0.1" 1478 | 1479 | glob-parent@~5.1.0: 1480 | version "5.1.1" 1481 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" 1482 | dependencies: 1483 | is-glob "^4.0.1" 1484 | 1485 | glob@7.1.3: 1486 | version "7.1.3" 1487 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 1488 | dependencies: 1489 | fs.realpath "^1.0.0" 1490 | inflight "^1.0.4" 1491 | inherits "2" 1492 | minimatch "^3.0.4" 1493 | once "^1.3.0" 1494 | path-is-absolute "^1.0.0" 1495 | 1496 | glob@^7.1.3: 1497 | version "7.1.6" 1498 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1499 | dependencies: 1500 | fs.realpath "^1.0.0" 1501 | inflight "^1.0.4" 1502 | inherits "2" 1503 | minimatch "^3.0.4" 1504 | once "^1.3.0" 1505 | path-is-absolute "^1.0.0" 1506 | 1507 | globals@^12.1.0: 1508 | version "12.4.0" 1509 | resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" 1510 | integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== 1511 | dependencies: 1512 | type-fest "^0.8.1" 1513 | 1514 | globals@^13.6.0: 1515 | version "13.8.0" 1516 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" 1517 | integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== 1518 | dependencies: 1519 | type-fest "^0.20.2" 1520 | 1521 | globby@^11.0.1: 1522 | version "11.0.3" 1523 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" 1524 | integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== 1525 | dependencies: 1526 | array-union "^2.1.0" 1527 | dir-glob "^3.0.1" 1528 | fast-glob "^3.1.1" 1529 | ignore "^5.1.4" 1530 | merge2 "^1.3.0" 1531 | slash "^3.0.0" 1532 | 1533 | graceful-fs@^4.1.2: 1534 | version "4.2.3" 1535 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" 1536 | 1537 | graceful-fs@^4.1.6: 1538 | version "4.2.11" 1539 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" 1540 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 1541 | 1542 | growl@1.10.5: 1543 | version "1.10.5" 1544 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 1545 | 1546 | has-bigints@^1.0.1: 1547 | version "1.0.1" 1548 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" 1549 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== 1550 | 1551 | has-flag@^3.0.0: 1552 | version "3.0.0" 1553 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1554 | 1555 | has-flag@^4.0.0: 1556 | version "4.0.0" 1557 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1558 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1559 | 1560 | has-symbols@^1.0.0, has-symbols@^1.0.1: 1561 | version "1.0.1" 1562 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 1563 | 1564 | has-symbols@^1.0.2: 1565 | version "1.0.2" 1566 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 1567 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 1568 | 1569 | has@^1.0.3: 1570 | version "1.0.3" 1571 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1572 | dependencies: 1573 | function-bind "^1.1.1" 1574 | 1575 | hasown@^2.0.0: 1576 | version "2.0.0" 1577 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" 1578 | integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== 1579 | dependencies: 1580 | function-bind "^1.1.2" 1581 | 1582 | he@1.2.0, he@^1.2.0: 1583 | version "1.2.0" 1584 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 1585 | 1586 | hosted-git-info@^2.1.4: 1587 | version "2.8.9" 1588 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 1589 | integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 1590 | 1591 | ignore-styles@^5.0.1: 1592 | version "5.0.1" 1593 | resolved "https://registry.yarnpkg.com/ignore-styles/-/ignore-styles-5.0.1.tgz#b49ef2274bdafcd8a4880a966bfe38d1a0bf4671" 1594 | 1595 | ignore@^4.0.6: 1596 | version "4.0.6" 1597 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 1598 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 1599 | 1600 | ignore@^5.1.1, ignore@^5.1.4: 1601 | version "5.1.8" 1602 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" 1603 | integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== 1604 | 1605 | import-fresh@^3.0.0, import-fresh@^3.2.1: 1606 | version "3.3.0" 1607 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1608 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1609 | dependencies: 1610 | parent-module "^1.0.0" 1611 | resolve-from "^4.0.0" 1612 | 1613 | import-lazy@~4.0.0: 1614 | version "4.0.0" 1615 | resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" 1616 | integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== 1617 | 1618 | imurmurhash@^0.1.4: 1619 | version "0.1.4" 1620 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1621 | 1622 | indexes-of@^1.0.1: 1623 | version "1.0.1" 1624 | resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" 1625 | 1626 | inflight@^1.0.4: 1627 | version "1.0.6" 1628 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1629 | dependencies: 1630 | once "^1.3.0" 1631 | wrappy "1" 1632 | 1633 | inherits@2: 1634 | version "2.0.4" 1635 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1636 | 1637 | is-arrayish@^0.2.1: 1638 | version "0.2.1" 1639 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1640 | 1641 | is-bigint@^1.0.1: 1642 | version "1.0.1" 1643 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" 1644 | integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== 1645 | 1646 | is-binary-path@~2.1.0: 1647 | version "2.1.0" 1648 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1649 | dependencies: 1650 | binary-extensions "^2.0.0" 1651 | 1652 | is-boolean-object@^1.1.0: 1653 | version "1.1.0" 1654 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" 1655 | integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== 1656 | dependencies: 1657 | call-bind "^1.0.0" 1658 | 1659 | is-buffer@~2.0.3: 1660 | version "2.0.4" 1661 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" 1662 | 1663 | is-callable@^1.1.4, is-callable@^1.1.5: 1664 | version "1.1.5" 1665 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" 1666 | 1667 | is-callable@^1.2.3: 1668 | version "1.2.3" 1669 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" 1670 | integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== 1671 | 1672 | is-core-module@^2.1.0, is-core-module@^2.13.0: 1673 | version "2.13.1" 1674 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" 1675 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== 1676 | dependencies: 1677 | hasown "^2.0.0" 1678 | 1679 | is-core-module@^2.2.0: 1680 | version "2.3.0" 1681 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" 1682 | integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== 1683 | dependencies: 1684 | has "^1.0.3" 1685 | 1686 | is-date-object@^1.0.1: 1687 | version "1.0.2" 1688 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 1689 | 1690 | is-extglob@^2.1.1: 1691 | version "2.1.1" 1692 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1693 | 1694 | is-fullwidth-code-point@^2.0.0: 1695 | version "2.0.0" 1696 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1697 | 1698 | is-fullwidth-code-point@^3.0.0: 1699 | version "3.0.0" 1700 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1701 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1702 | 1703 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: 1704 | version "4.0.1" 1705 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1706 | dependencies: 1707 | is-extglob "^2.1.1" 1708 | 1709 | is-negative-zero@^2.0.1: 1710 | version "2.0.1" 1711 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 1712 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== 1713 | 1714 | is-number-object@^1.0.4: 1715 | version "1.0.4" 1716 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" 1717 | integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== 1718 | 1719 | is-number@^7.0.0: 1720 | version "7.0.0" 1721 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1722 | 1723 | is-regex@^1.0.5: 1724 | version "1.0.5" 1725 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" 1726 | dependencies: 1727 | has "^1.0.3" 1728 | 1729 | is-regex@^1.1.2: 1730 | version "1.1.2" 1731 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" 1732 | integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== 1733 | dependencies: 1734 | call-bind "^1.0.2" 1735 | has-symbols "^1.0.1" 1736 | 1737 | is-string@^1.0.5: 1738 | version "1.0.5" 1739 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" 1740 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== 1741 | 1742 | is-symbol@^1.0.2, is-symbol@^1.0.3: 1743 | version "1.0.3" 1744 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 1745 | dependencies: 1746 | has-symbols "^1.0.1" 1747 | 1748 | isarray@^1.0.0: 1749 | version "1.0.0" 1750 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1751 | 1752 | isexe@^2.0.0: 1753 | version "2.0.0" 1754 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1755 | 1756 | jju@~1.4.0: 1757 | version "1.4.0" 1758 | resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" 1759 | integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== 1760 | 1761 | js-tokens@^4.0.0: 1762 | version "4.0.0" 1763 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1764 | 1765 | js-yaml@3.13.1, js-yaml@^3.13.1: 1766 | version "3.13.1" 1767 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 1768 | dependencies: 1769 | argparse "^1.0.7" 1770 | esprima "^4.0.0" 1771 | 1772 | jsdoctypeparser@^9.0.0: 1773 | version "9.0.0" 1774 | resolved "https://registry.yarnpkg.com/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz#8c97e2fb69315eb274b0f01377eaa5c940bd7b26" 1775 | integrity sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw== 1776 | 1777 | json-schema-traverse@^0.4.1: 1778 | version "0.4.1" 1779 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1780 | 1781 | json-schema-traverse@^1.0.0: 1782 | version "1.0.0" 1783 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" 1784 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== 1785 | 1786 | json-stable-stringify-without-jsonify@^1.0.1: 1787 | version "1.0.1" 1788 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1789 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1790 | 1791 | json5@^1.0.1: 1792 | version "1.0.2" 1793 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" 1794 | integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== 1795 | dependencies: 1796 | minimist "^1.2.0" 1797 | 1798 | jsonfile@^4.0.0: 1799 | version "4.0.0" 1800 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 1801 | integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== 1802 | optionalDependencies: 1803 | graceful-fs "^4.1.6" 1804 | 1805 | kolorist@^1.8.0: 1806 | version "1.8.0" 1807 | resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" 1808 | integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== 1809 | 1810 | levn@^0.4.1: 1811 | version "0.4.1" 1812 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1813 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1814 | dependencies: 1815 | prelude-ls "^1.2.1" 1816 | type-check "~0.4.0" 1817 | 1818 | load-json-file@^2.0.0: 1819 | version "2.0.0" 1820 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 1821 | integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= 1822 | dependencies: 1823 | graceful-fs "^4.1.2" 1824 | parse-json "^2.2.0" 1825 | pify "^2.0.0" 1826 | strip-bom "^3.0.0" 1827 | 1828 | locate-path@^2.0.0: 1829 | version "2.0.0" 1830 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1831 | dependencies: 1832 | p-locate "^2.0.0" 1833 | path-exists "^3.0.0" 1834 | 1835 | locate-path@^3.0.0: 1836 | version "3.0.0" 1837 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 1838 | dependencies: 1839 | p-locate "^3.0.0" 1840 | path-exists "^3.0.0" 1841 | 1842 | lodash.clonedeep@^4.5.0: 1843 | version "4.5.0" 1844 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" 1845 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= 1846 | 1847 | lodash.flatten@^4.4.0: 1848 | version "4.4.0" 1849 | resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" 1850 | integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= 1851 | 1852 | lodash.get@^4.4.2: 1853 | version "4.4.2" 1854 | resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" 1855 | integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== 1856 | 1857 | lodash.isequal@^4.5.0: 1858 | version "4.5.0" 1859 | resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" 1860 | integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== 1861 | 1862 | lodash.truncate@^4.4.2: 1863 | version "4.4.2" 1864 | resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" 1865 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= 1866 | 1867 | lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.15: 1868 | version "4.17.21" 1869 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1870 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1871 | 1872 | log-symbols@3.0.0: 1873 | version "3.0.0" 1874 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" 1875 | dependencies: 1876 | chalk "^2.4.2" 1877 | 1878 | lru-cache@^6.0.0: 1879 | version "6.0.0" 1880 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1881 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1882 | dependencies: 1883 | yallist "^4.0.0" 1884 | 1885 | magic-string@^0.30.8: 1886 | version "0.30.10" 1887 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e" 1888 | integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== 1889 | dependencies: 1890 | "@jridgewell/sourcemap-codec" "^1.4.15" 1891 | 1892 | make-error@^1.1.1: 1893 | version "1.3.6" 1894 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 1895 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 1896 | 1897 | merge2@^1.3.0: 1898 | version "1.4.1" 1899 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1900 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1901 | 1902 | micromatch@^4.0.2: 1903 | version "4.0.4" 1904 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 1905 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 1906 | dependencies: 1907 | braces "^3.0.1" 1908 | picomatch "^2.2.3" 1909 | 1910 | minimatch@3.0.4, minimatch@^3.0.4: 1911 | version "3.0.4" 1912 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1913 | dependencies: 1914 | brace-expansion "^1.1.7" 1915 | 1916 | minimatch@^9.0.3: 1917 | version "9.0.4" 1918 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" 1919 | integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== 1920 | dependencies: 1921 | brace-expansion "^2.0.1" 1922 | 1923 | minimatch@~3.0.3: 1924 | version "3.0.8" 1925 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" 1926 | integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q== 1927 | dependencies: 1928 | brace-expansion "^1.1.7" 1929 | 1930 | minimist@^1.2.0, minimist@^1.2.5: 1931 | version "1.2.7" 1932 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" 1933 | integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== 1934 | 1935 | mkdirp@0.5.3: 1936 | version "0.5.3" 1937 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.3.tgz#5a514b7179259287952881e94410ec5465659f8c" 1938 | dependencies: 1939 | minimist "^1.2.5" 1940 | 1941 | mocha@^7.1.1: 1942 | version "7.1.1" 1943 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.1.1.tgz#89fbb30d09429845b1bb893a830bf5771049a441" 1944 | dependencies: 1945 | ansi-colors "3.2.3" 1946 | browser-stdout "1.3.1" 1947 | chokidar "3.3.0" 1948 | debug "3.2.6" 1949 | diff "3.5.0" 1950 | escape-string-regexp "1.0.5" 1951 | find-up "3.0.0" 1952 | glob "7.1.3" 1953 | growl "1.10.5" 1954 | he "1.2.0" 1955 | js-yaml "3.13.1" 1956 | log-symbols "3.0.0" 1957 | minimatch "3.0.4" 1958 | mkdirp "0.5.3" 1959 | ms "2.1.1" 1960 | node-environment-flags "1.0.6" 1961 | object.assign "4.1.0" 1962 | strip-json-comments "2.0.1" 1963 | supports-color "6.0.0" 1964 | which "1.3.1" 1965 | wide-align "1.1.3" 1966 | yargs "13.3.2" 1967 | yargs-parser "13.1.2" 1968 | yargs-unparser "1.6.0" 1969 | 1970 | ms@2.0.0: 1971 | version "2.0.0" 1972 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1973 | 1974 | ms@2.1.1: 1975 | version "2.1.1" 1976 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 1977 | 1978 | ms@2.1.2, ms@^2.1.1: 1979 | version "2.1.2" 1980 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1981 | 1982 | muggle-string@^0.3.1: 1983 | version "0.3.1" 1984 | resolved "https://registry.yarnpkg.com/muggle-string/-/muggle-string-0.3.1.tgz#e524312eb1728c63dd0b2ac49e3282e6ed85963a" 1985 | integrity sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg== 1986 | 1987 | nanoid@^3.3.11: 1988 | version "3.3.11" 1989 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" 1990 | integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== 1991 | 1992 | natural-compare@^1.4.0: 1993 | version "1.4.0" 1994 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1995 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1996 | 1997 | node-environment-flags@1.0.6: 1998 | version "1.0.6" 1999 | resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" 2000 | dependencies: 2001 | object.getownpropertydescriptors "^2.0.3" 2002 | semver "^5.7.0" 2003 | 2004 | normalize-package-data@^2.3.2: 2005 | version "2.5.0" 2006 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 2007 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 2008 | dependencies: 2009 | hosted-git-info "^2.1.4" 2010 | resolve "^1.10.0" 2011 | semver "2 || 3 || 4 || 5" 2012 | validate-npm-package-license "^3.0.1" 2013 | 2014 | normalize-path@^3.0.0, normalize-path@~3.0.0: 2015 | version "3.0.0" 2016 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2017 | 2018 | object-inspect@^1.7.0: 2019 | version "1.7.0" 2020 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" 2021 | 2022 | object-inspect@^1.9.0: 2023 | version "1.10.2" 2024 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30" 2025 | integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA== 2026 | 2027 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: 2028 | version "1.1.1" 2029 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 2030 | 2031 | object.assign@4.1.0, object.assign@^4.1.0: 2032 | version "4.1.0" 2033 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 2034 | dependencies: 2035 | define-properties "^1.1.2" 2036 | function-bind "^1.1.1" 2037 | has-symbols "^1.0.0" 2038 | object-keys "^1.0.11" 2039 | 2040 | object.assign@^4.1.2: 2041 | version "4.1.2" 2042 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 2043 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 2044 | dependencies: 2045 | call-bind "^1.0.0" 2046 | define-properties "^1.1.3" 2047 | has-symbols "^1.0.1" 2048 | object-keys "^1.1.1" 2049 | 2050 | object.getownpropertydescriptors@^2.0.3: 2051 | version "2.1.0" 2052 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" 2053 | dependencies: 2054 | define-properties "^1.1.3" 2055 | es-abstract "^1.17.0-next.1" 2056 | 2057 | object.values@^1.1.1: 2058 | version "1.1.3" 2059 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" 2060 | integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== 2061 | dependencies: 2062 | call-bind "^1.0.2" 2063 | define-properties "^1.1.3" 2064 | es-abstract "^1.18.0-next.2" 2065 | has "^1.0.3" 2066 | 2067 | once@^1.3.0: 2068 | version "1.4.0" 2069 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2070 | dependencies: 2071 | wrappy "1" 2072 | 2073 | optionator@^0.9.1: 2074 | version "0.9.1" 2075 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 2076 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 2077 | dependencies: 2078 | deep-is "^0.1.3" 2079 | fast-levenshtein "^2.0.6" 2080 | levn "^0.4.1" 2081 | prelude-ls "^1.2.1" 2082 | type-check "^0.4.0" 2083 | word-wrap "^1.2.3" 2084 | 2085 | p-limit@^1.1.0: 2086 | version "1.3.0" 2087 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 2088 | dependencies: 2089 | p-try "^1.0.0" 2090 | 2091 | p-limit@^2.0.0: 2092 | version "2.3.0" 2093 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 2094 | dependencies: 2095 | p-try "^2.0.0" 2096 | 2097 | p-locate@^2.0.0: 2098 | version "2.0.0" 2099 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2100 | dependencies: 2101 | p-limit "^1.1.0" 2102 | 2103 | p-locate@^3.0.0: 2104 | version "3.0.0" 2105 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 2106 | dependencies: 2107 | p-limit "^2.0.0" 2108 | 2109 | p-try@^1.0.0: 2110 | version "1.0.0" 2111 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 2112 | 2113 | p-try@^2.0.0: 2114 | version "2.2.0" 2115 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2116 | 2117 | parent-module@^1.0.0: 2118 | version "1.0.1" 2119 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 2120 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2121 | dependencies: 2122 | callsites "^3.0.0" 2123 | 2124 | parse-json@^2.2.0: 2125 | version "2.2.0" 2126 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2127 | integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= 2128 | dependencies: 2129 | error-ex "^1.2.0" 2130 | 2131 | path-browserify@^1.0.1: 2132 | version "1.0.1" 2133 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" 2134 | integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== 2135 | 2136 | path-exists@^3.0.0: 2137 | version "3.0.0" 2138 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2139 | 2140 | path-is-absolute@^1.0.0: 2141 | version "1.0.1" 2142 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2143 | 2144 | path-key@^3.1.0: 2145 | version "3.1.1" 2146 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2147 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2148 | 2149 | path-parse@^1.0.6, path-parse@^1.0.7: 2150 | version "1.0.7" 2151 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2152 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2153 | 2154 | path-type@^2.0.0: 2155 | version "2.0.0" 2156 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2157 | integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= 2158 | dependencies: 2159 | pify "^2.0.0" 2160 | 2161 | path-type@^4.0.0: 2162 | version "4.0.0" 2163 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 2164 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2165 | 2166 | pathval@^1.1.0: 2167 | version "1.1.1" 2168 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" 2169 | integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== 2170 | 2171 | picocolors@^1.1.1: 2172 | version "1.1.1" 2173 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" 2174 | integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== 2175 | 2176 | picomatch@^2.0.4: 2177 | version "2.2.2" 2178 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 2179 | 2180 | picomatch@^2.2.1, picomatch@^2.2.3: 2181 | version "2.2.3" 2182 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" 2183 | integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== 2184 | 2185 | picomatch@^2.3.1: 2186 | version "2.3.1" 2187 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2188 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2189 | 2190 | pify@^2.0.0: 2191 | version "2.3.0" 2192 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2193 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= 2194 | 2195 | pkg-dir@^2.0.0: 2196 | version "2.0.0" 2197 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 2198 | integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= 2199 | dependencies: 2200 | find-up "^2.1.0" 2201 | 2202 | postcss-nested-ancestors@^2.0.0: 2203 | version "2.0.0" 2204 | resolved "https://registry.yarnpkg.com/postcss-nested-ancestors/-/postcss-nested-ancestors-2.0.0.tgz#957ef27fb9e37cb082786d95b5e310d4b47470fe" 2205 | dependencies: 2206 | escape-string-regexp "^1.0.5" 2207 | postcss "^6.0.0" 2208 | postcss-resolve-nested-selector "^0.1.1" 2209 | 2210 | postcss-nested@^4.2.1: 2211 | version "4.2.1" 2212 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-4.2.1.tgz#4bc2e5b35e3b1e481ff81e23b700da7f82a8b248" 2213 | dependencies: 2214 | postcss "^7.0.21" 2215 | postcss-selector-parser "^6.0.2" 2216 | 2217 | postcss-resolve-nested-selector@^0.1.1: 2218 | version "0.1.1" 2219 | resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" 2220 | 2221 | postcss-selector-parser@^6.0.2: 2222 | version "6.0.2" 2223 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" 2224 | dependencies: 2225 | cssesc "^3.0.0" 2226 | indexes-of "^1.0.1" 2227 | uniq "^1.0.1" 2228 | 2229 | postcss@^6.0.0: 2230 | version "6.0.23" 2231 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" 2232 | dependencies: 2233 | chalk "^2.4.1" 2234 | source-map "^0.6.1" 2235 | supports-color "^5.4.0" 2236 | 2237 | postcss@^7.0.21: 2238 | version "7.0.27" 2239 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" 2240 | dependencies: 2241 | chalk "^2.4.2" 2242 | source-map "^0.6.1" 2243 | supports-color "^6.1.0" 2244 | 2245 | postcss@^8.4.43: 2246 | version "8.5.6" 2247 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" 2248 | integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== 2249 | dependencies: 2250 | nanoid "^3.3.11" 2251 | picocolors "^1.1.1" 2252 | source-map-js "^1.2.1" 2253 | 2254 | prelude-ls@^1.2.1: 2255 | version "1.2.1" 2256 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 2257 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2258 | 2259 | progress@^2.0.0: 2260 | version "2.0.3" 2261 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 2262 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 2263 | 2264 | punycode@^2.1.0: 2265 | version "2.1.1" 2266 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2267 | 2268 | queue-microtask@^1.2.2: 2269 | version "1.2.3" 2270 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 2271 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 2272 | 2273 | read-pkg-up@^2.0.0: 2274 | version "2.0.0" 2275 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 2276 | integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= 2277 | dependencies: 2278 | find-up "^2.0.0" 2279 | read-pkg "^2.0.0" 2280 | 2281 | read-pkg@^2.0.0: 2282 | version "2.0.0" 2283 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 2284 | integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= 2285 | dependencies: 2286 | load-json-file "^2.0.0" 2287 | normalize-package-data "^2.3.2" 2288 | path-type "^2.0.0" 2289 | 2290 | readdirp@~3.2.0: 2291 | version "3.2.0" 2292 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" 2293 | dependencies: 2294 | picomatch "^2.0.4" 2295 | 2296 | regexpp@^3.0.0, regexpp@^3.1.0: 2297 | version "3.1.0" 2298 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" 2299 | integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== 2300 | 2301 | regextras@^0.7.1: 2302 | version "0.7.1" 2303 | resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.7.1.tgz#be95719d5f43f9ef0b9fa07ad89b7c606995a3b2" 2304 | integrity sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w== 2305 | 2306 | require-directory@^2.1.1: 2307 | version "2.1.1" 2308 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2309 | 2310 | require-from-string@^2.0.2: 2311 | version "2.0.2" 2312 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" 2313 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 2314 | 2315 | require-main-filename@^2.0.0: 2316 | version "2.0.0" 2317 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 2318 | 2319 | resolve-from@^4.0.0: 2320 | version "4.0.0" 2321 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 2322 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2323 | 2324 | resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.17.0: 2325 | version "1.20.0" 2326 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 2327 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 2328 | dependencies: 2329 | is-core-module "^2.2.0" 2330 | path-parse "^1.0.6" 2331 | 2332 | resolve@~1.19.0: 2333 | version "1.19.0" 2334 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" 2335 | integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== 2336 | dependencies: 2337 | is-core-module "^2.1.0" 2338 | path-parse "^1.0.6" 2339 | 2340 | resolve@~1.22.1: 2341 | version "1.22.8" 2342 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" 2343 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== 2344 | dependencies: 2345 | is-core-module "^2.13.0" 2346 | path-parse "^1.0.7" 2347 | supports-preserve-symlinks-flag "^1.0.0" 2348 | 2349 | reusify@^1.0.4: 2350 | version "1.0.4" 2351 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 2352 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 2353 | 2354 | rimraf@^3.0.2: 2355 | version "3.0.2" 2356 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2357 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2358 | dependencies: 2359 | glob "^7.1.3" 2360 | 2361 | rollup@^4.20.0: 2362 | version "4.53.3" 2363 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.53.3.tgz#dbc8cd8743b38710019fb8297e8d7a76e3faa406" 2364 | integrity sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA== 2365 | dependencies: 2366 | "@types/estree" "1.0.8" 2367 | optionalDependencies: 2368 | "@rollup/rollup-android-arm-eabi" "4.53.3" 2369 | "@rollup/rollup-android-arm64" "4.53.3" 2370 | "@rollup/rollup-darwin-arm64" "4.53.3" 2371 | "@rollup/rollup-darwin-x64" "4.53.3" 2372 | "@rollup/rollup-freebsd-arm64" "4.53.3" 2373 | "@rollup/rollup-freebsd-x64" "4.53.3" 2374 | "@rollup/rollup-linux-arm-gnueabihf" "4.53.3" 2375 | "@rollup/rollup-linux-arm-musleabihf" "4.53.3" 2376 | "@rollup/rollup-linux-arm64-gnu" "4.53.3" 2377 | "@rollup/rollup-linux-arm64-musl" "4.53.3" 2378 | "@rollup/rollup-linux-loong64-gnu" "4.53.3" 2379 | "@rollup/rollup-linux-ppc64-gnu" "4.53.3" 2380 | "@rollup/rollup-linux-riscv64-gnu" "4.53.3" 2381 | "@rollup/rollup-linux-riscv64-musl" "4.53.3" 2382 | "@rollup/rollup-linux-s390x-gnu" "4.53.3" 2383 | "@rollup/rollup-linux-x64-gnu" "4.53.3" 2384 | "@rollup/rollup-linux-x64-musl" "4.53.3" 2385 | "@rollup/rollup-openharmony-arm64" "4.53.3" 2386 | "@rollup/rollup-win32-arm64-msvc" "4.53.3" 2387 | "@rollup/rollup-win32-ia32-msvc" "4.53.3" 2388 | "@rollup/rollup-win32-x64-gnu" "4.53.3" 2389 | "@rollup/rollup-win32-x64-msvc" "4.53.3" 2390 | fsevents "~2.3.2" 2391 | 2392 | run-parallel@^1.1.9: 2393 | version "1.2.0" 2394 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 2395 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 2396 | dependencies: 2397 | queue-microtask "^1.2.2" 2398 | 2399 | "semver@2 || 3 || 4 || 5", semver@^5.7.0: 2400 | version "5.7.1" 2401 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 2402 | 2403 | semver@^6.1.0: 2404 | version "6.3.0" 2405 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2406 | 2407 | semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: 2408 | version "7.3.5" 2409 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 2410 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 2411 | dependencies: 2412 | lru-cache "^6.0.0" 2413 | 2414 | semver@^7.5.4: 2415 | version "7.6.2" 2416 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" 2417 | integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== 2418 | 2419 | semver@~7.5.4: 2420 | version "7.5.4" 2421 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" 2422 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== 2423 | dependencies: 2424 | lru-cache "^6.0.0" 2425 | 2426 | set-blocking@^2.0.0: 2427 | version "2.0.0" 2428 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2429 | 2430 | shebang-command@^2.0.0: 2431 | version "2.0.0" 2432 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2433 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2434 | dependencies: 2435 | shebang-regex "^3.0.0" 2436 | 2437 | shebang-regex@^3.0.0: 2438 | version "3.0.0" 2439 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2440 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2441 | 2442 | slash@^3.0.0: 2443 | version "3.0.0" 2444 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2445 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2446 | 2447 | slice-ansi@^4.0.0: 2448 | version "4.0.0" 2449 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 2450 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 2451 | dependencies: 2452 | ansi-styles "^4.0.0" 2453 | astral-regex "^2.0.0" 2454 | is-fullwidth-code-point "^3.0.0" 2455 | 2456 | source-map-js@^1.2.0: 2457 | version "1.2.0" 2458 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" 2459 | integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== 2460 | 2461 | source-map-js@^1.2.1: 2462 | version "1.2.1" 2463 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" 2464 | integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== 2465 | 2466 | source-map@^0.6.1, source-map@~0.6.1: 2467 | version "0.6.1" 2468 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2469 | 2470 | spdx-correct@^3.0.0: 2471 | version "3.1.1" 2472 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 2473 | integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 2474 | dependencies: 2475 | spdx-expression-parse "^3.0.0" 2476 | spdx-license-ids "^3.0.0" 2477 | 2478 | spdx-exceptions@^2.1.0: 2479 | version "2.3.0" 2480 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 2481 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 2482 | 2483 | spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: 2484 | version "3.0.1" 2485 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 2486 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 2487 | dependencies: 2488 | spdx-exceptions "^2.1.0" 2489 | spdx-license-ids "^3.0.0" 2490 | 2491 | spdx-license-ids@^3.0.0: 2492 | version "3.0.7" 2493 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" 2494 | integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== 2495 | 2496 | sprintf-js@~1.0.2: 2497 | version "1.0.3" 2498 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2499 | 2500 | string-argv@~0.3.1: 2501 | version "0.3.2" 2502 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" 2503 | integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== 2504 | 2505 | "string-width@^1.0.2 || 2": 2506 | version "2.1.1" 2507 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 2508 | dependencies: 2509 | is-fullwidth-code-point "^2.0.0" 2510 | strip-ansi "^4.0.0" 2511 | 2512 | string-width@^3.0.0, string-width@^3.1.0: 2513 | version "3.1.0" 2514 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 2515 | dependencies: 2516 | emoji-regex "^7.0.1" 2517 | is-fullwidth-code-point "^2.0.0" 2518 | strip-ansi "^5.1.0" 2519 | 2520 | string-width@^4.2.0: 2521 | version "4.2.2" 2522 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" 2523 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 2524 | dependencies: 2525 | emoji-regex "^8.0.0" 2526 | is-fullwidth-code-point "^3.0.0" 2527 | strip-ansi "^6.0.0" 2528 | 2529 | string.prototype.trimend@^1.0.0: 2530 | version "1.0.1" 2531 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" 2532 | dependencies: 2533 | define-properties "^1.1.3" 2534 | es-abstract "^1.17.5" 2535 | 2536 | string.prototype.trimend@^1.0.4: 2537 | version "1.0.4" 2538 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 2539 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 2540 | dependencies: 2541 | call-bind "^1.0.2" 2542 | define-properties "^1.1.3" 2543 | 2544 | string.prototype.trimleft@^2.1.1: 2545 | version "2.1.2" 2546 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" 2547 | dependencies: 2548 | define-properties "^1.1.3" 2549 | es-abstract "^1.17.5" 2550 | string.prototype.trimstart "^1.0.0" 2551 | 2552 | string.prototype.trimright@^2.1.1: 2553 | version "2.1.2" 2554 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" 2555 | dependencies: 2556 | define-properties "^1.1.3" 2557 | es-abstract "^1.17.5" 2558 | string.prototype.trimend "^1.0.0" 2559 | 2560 | string.prototype.trimstart@^1.0.0: 2561 | version "1.0.1" 2562 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" 2563 | dependencies: 2564 | define-properties "^1.1.3" 2565 | es-abstract "^1.17.5" 2566 | 2567 | string.prototype.trimstart@^1.0.4: 2568 | version "1.0.4" 2569 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 2570 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 2571 | dependencies: 2572 | call-bind "^1.0.2" 2573 | define-properties "^1.1.3" 2574 | 2575 | strip-ansi@^4.0.0: 2576 | version "4.0.0" 2577 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 2578 | dependencies: 2579 | ansi-regex "^3.0.0" 2580 | 2581 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: 2582 | version "5.2.0" 2583 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 2584 | dependencies: 2585 | ansi-regex "^4.1.0" 2586 | 2587 | strip-ansi@^6.0.0: 2588 | version "6.0.0" 2589 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 2590 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 2591 | dependencies: 2592 | ansi-regex "^5.0.0" 2593 | 2594 | strip-bom@^3.0.0: 2595 | version "3.0.0" 2596 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 2597 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 2598 | 2599 | strip-json-comments@2.0.1: 2600 | version "2.0.1" 2601 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2602 | 2603 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: 2604 | version "3.1.1" 2605 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2606 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2607 | 2608 | supports-color@6.0.0: 2609 | version "6.0.0" 2610 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" 2611 | dependencies: 2612 | has-flag "^3.0.0" 2613 | 2614 | supports-color@^5.3.0, supports-color@^5.4.0: 2615 | version "5.5.0" 2616 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2617 | dependencies: 2618 | has-flag "^3.0.0" 2619 | 2620 | supports-color@^6.1.0: 2621 | version "6.1.0" 2622 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" 2623 | dependencies: 2624 | has-flag "^3.0.0" 2625 | 2626 | supports-color@^7.1.0: 2627 | version "7.2.0" 2628 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2629 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2630 | dependencies: 2631 | has-flag "^4.0.0" 2632 | 2633 | supports-color@~8.1.1: 2634 | version "8.1.1" 2635 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 2636 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 2637 | dependencies: 2638 | has-flag "^4.0.0" 2639 | 2640 | supports-preserve-symlinks-flag@^1.0.0: 2641 | version "1.0.0" 2642 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2643 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2644 | 2645 | table@^6.0.4: 2646 | version "6.5.1" 2647 | resolved "https://registry.yarnpkg.com/table/-/table-6.5.1.tgz#930885a7430f15f8766b35cd1e36de40793db523" 2648 | integrity sha512-xGDXWTBJxahkzPQCsn1S9ESHEenU7TbMD5Iv4FeopXv/XwJyWatFjfbor+6ipI10/MNPXBYUamYukOrbPZ9L/w== 2649 | dependencies: 2650 | ajv "^8.0.1" 2651 | lodash.clonedeep "^4.5.0" 2652 | lodash.flatten "^4.4.0" 2653 | lodash.truncate "^4.4.2" 2654 | slice-ansi "^4.0.0" 2655 | string-width "^4.2.0" 2656 | strip-ansi "^6.0.0" 2657 | 2658 | text-table@^0.2.0: 2659 | version "0.2.0" 2660 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2661 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 2662 | 2663 | to-regex-range@^5.0.1: 2664 | version "5.0.1" 2665 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2666 | dependencies: 2667 | is-number "^7.0.0" 2668 | 2669 | ts-node@^10.9.2: 2670 | version "10.9.2" 2671 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" 2672 | integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== 2673 | dependencies: 2674 | "@cspotcode/source-map-support" "^0.8.0" 2675 | "@tsconfig/node10" "^1.0.7" 2676 | "@tsconfig/node12" "^1.0.7" 2677 | "@tsconfig/node14" "^1.0.0" 2678 | "@tsconfig/node16" "^1.0.2" 2679 | acorn "^8.4.1" 2680 | acorn-walk "^8.1.1" 2681 | arg "^4.1.0" 2682 | create-require "^1.1.0" 2683 | diff "^4.0.1" 2684 | make-error "^1.1.1" 2685 | v8-compile-cache-lib "^3.0.1" 2686 | yn "3.1.1" 2687 | 2688 | tsconfig-paths@^3.9.0: 2689 | version "3.9.0" 2690 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" 2691 | integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== 2692 | dependencies: 2693 | "@types/json5" "^0.0.29" 2694 | json5 "^1.0.1" 2695 | minimist "^1.2.0" 2696 | strip-bom "^3.0.0" 2697 | 2698 | tslib@^1.8.1: 2699 | version "1.14.1" 2700 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 2701 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 2702 | 2703 | tsutils@^3.17.1: 2704 | version "3.21.0" 2705 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 2706 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 2707 | dependencies: 2708 | tslib "^1.8.1" 2709 | 2710 | type-check@^0.4.0, type-check@~0.4.0: 2711 | version "0.4.0" 2712 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2713 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2714 | dependencies: 2715 | prelude-ls "^1.2.1" 2716 | 2717 | type-detect@^4.0.0, type-detect@^4.0.5: 2718 | version "4.0.8" 2719 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 2720 | 2721 | type-fest@^0.20.2: 2722 | version "0.20.2" 2723 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2724 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2725 | 2726 | type-fest@^0.8.1: 2727 | version "0.8.1" 2728 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 2729 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 2730 | 2731 | typescript@5.4.2: 2732 | version "5.4.2" 2733 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" 2734 | integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== 2735 | 2736 | typescript@^5.4.5: 2737 | version "5.4.5" 2738 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" 2739 | integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== 2740 | 2741 | unbox-primitive@^1.0.0: 2742 | version "1.0.1" 2743 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" 2744 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== 2745 | dependencies: 2746 | function-bind "^1.1.1" 2747 | has-bigints "^1.0.1" 2748 | has-symbols "^1.0.2" 2749 | which-boxed-primitive "^1.0.2" 2750 | 2751 | undici-types@~7.16.0: 2752 | version "7.16.0" 2753 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" 2754 | integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== 2755 | 2756 | uniq@^1.0.1: 2757 | version "1.0.1" 2758 | resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" 2759 | 2760 | universalify@^0.1.0: 2761 | version "0.1.2" 2762 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 2763 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 2764 | 2765 | uri-js@^4.2.2: 2766 | version "4.2.2" 2767 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 2768 | dependencies: 2769 | punycode "^2.1.0" 2770 | 2771 | v8-compile-cache-lib@^3.0.1: 2772 | version "3.0.1" 2773 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" 2774 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== 2775 | 2776 | v8-compile-cache@^2.0.3: 2777 | version "2.3.0" 2778 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" 2779 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 2780 | 2781 | validate-npm-package-license@^3.0.1: 2782 | version "3.0.4" 2783 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 2784 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 2785 | dependencies: 2786 | spdx-correct "^3.0.0" 2787 | spdx-expression-parse "^3.0.0" 2788 | 2789 | validator@^13.7.0: 2790 | version "13.15.23" 2791 | resolved "https://registry.yarnpkg.com/validator/-/validator-13.15.23.tgz#59a874f84e4594588e3409ab1edbe64e96d0c62d" 2792 | integrity sha512-4yoz1kEWqUjzi5zsPbAS/903QXSYp0UOtHsPpp7p9rHAw/W+dkInskAE386Fat3oKRROwO98d9ZB0G4cObgUyw== 2793 | 2794 | vite-plugin-css-injected-by-js@^3.3.0: 2795 | version "3.3.0" 2796 | resolved "https://registry.yarnpkg.com/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.3.0.tgz#c19480a9e42a95c5bced976a9dde1446f9bd91ff" 2797 | integrity sha512-xG+jyHNCmUqi/TXp6q88wTJGeAOrNLSyUUTp4qEQ9QZLGcHWQQsCsSSKa59rPMQr8sOzfzmWDd8enGqfH/dBew== 2798 | 2799 | vite-plugin-dts@^3.9.1: 2800 | version "3.9.1" 2801 | resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-3.9.1.tgz#625ad388ec3956708ccec7960550a7b0a8e8909e" 2802 | integrity sha512-rVp2KM9Ue22NGWB8dNtWEr+KekN3rIgz1tWD050QnRGlriUCmaDwa7qA5zDEjbXg5lAXhYMSBJtx3q3hQIJZSg== 2803 | dependencies: 2804 | "@microsoft/api-extractor" "7.43.0" 2805 | "@rollup/pluginutils" "^5.1.0" 2806 | "@vue/language-core" "^1.8.27" 2807 | debug "^4.3.4" 2808 | kolorist "^1.8.0" 2809 | magic-string "^0.30.8" 2810 | vue-tsc "^1.8.27" 2811 | 2812 | vite@^5.4.21: 2813 | version "5.4.21" 2814 | resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.21.tgz#84a4f7c5d860b071676d39ba513c0d598fdc7027" 2815 | integrity sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw== 2816 | dependencies: 2817 | esbuild "^0.21.3" 2818 | postcss "^8.4.43" 2819 | rollup "^4.20.0" 2820 | optionalDependencies: 2821 | fsevents "~2.3.3" 2822 | 2823 | vue-template-compiler@^2.7.14: 2824 | version "2.7.16" 2825 | resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz#c81b2d47753264c77ac03b9966a46637482bb03b" 2826 | integrity sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ== 2827 | dependencies: 2828 | de-indent "^1.0.2" 2829 | he "^1.2.0" 2830 | 2831 | vue-tsc@^1.8.27: 2832 | version "1.8.27" 2833 | resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.8.27.tgz#feb2bb1eef9be28017bb9e95e2bbd1ebdd48481c" 2834 | integrity sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg== 2835 | dependencies: 2836 | "@volar/typescript" "~1.11.1" 2837 | "@vue/language-core" "1.8.27" 2838 | semver "^7.5.4" 2839 | 2840 | which-boxed-primitive@^1.0.2: 2841 | version "1.0.2" 2842 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 2843 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 2844 | dependencies: 2845 | is-bigint "^1.0.1" 2846 | is-boolean-object "^1.1.0" 2847 | is-number-object "^1.0.4" 2848 | is-string "^1.0.5" 2849 | is-symbol "^1.0.3" 2850 | 2851 | which-module@^2.0.0: 2852 | version "2.0.0" 2853 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 2854 | 2855 | which@1.3.1: 2856 | version "1.3.1" 2857 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 2858 | dependencies: 2859 | isexe "^2.0.0" 2860 | 2861 | which@^2.0.1: 2862 | version "2.0.2" 2863 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2864 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2865 | dependencies: 2866 | isexe "^2.0.0" 2867 | 2868 | wide-align@1.1.3: 2869 | version "1.1.3" 2870 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 2871 | dependencies: 2872 | string-width "^1.0.2 || 2" 2873 | 2874 | word-wrap@^1.2.3: 2875 | version "1.2.3" 2876 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 2877 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 2878 | 2879 | wrap-ansi@^5.1.0: 2880 | version "5.1.0" 2881 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" 2882 | dependencies: 2883 | ansi-styles "^3.2.0" 2884 | string-width "^3.0.0" 2885 | strip-ansi "^5.0.0" 2886 | 2887 | wrappy@1: 2888 | version "1.0.2" 2889 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2890 | 2891 | y18n@^4.0.0: 2892 | version "4.0.1" 2893 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" 2894 | 2895 | yallist@^4.0.0: 2896 | version "4.0.0" 2897 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2898 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2899 | 2900 | yargs-parser@13.1.2, yargs-parser@^13.1.2: 2901 | version "13.1.2" 2902 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" 2903 | dependencies: 2904 | camelcase "^5.0.0" 2905 | decamelize "^1.2.0" 2906 | 2907 | yargs-unparser@1.6.0: 2908 | version "1.6.0" 2909 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" 2910 | dependencies: 2911 | flat "^4.1.0" 2912 | lodash "^4.17.15" 2913 | yargs "^13.3.0" 2914 | 2915 | yargs@13.3.2, yargs@^13.3.0: 2916 | version "13.3.2" 2917 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" 2918 | dependencies: 2919 | cliui "^5.0.0" 2920 | find-up "^3.0.0" 2921 | get-caller-file "^2.0.1" 2922 | require-directory "^2.1.1" 2923 | require-main-filename "^2.0.0" 2924 | set-blocking "^2.0.0" 2925 | string-width "^3.0.0" 2926 | which-module "^2.0.0" 2927 | y18n "^4.0.0" 2928 | yargs-parser "^13.1.2" 2929 | 2930 | yn@3.1.1: 2931 | version "3.1.1" 2932 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 2933 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 2934 | 2935 | z-schema@~5.0.2: 2936 | version "5.0.6" 2937 | resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.6.tgz#46d6a687b15e4a4369e18d6cb1c7b8618fc256c5" 2938 | integrity sha512-+XR1GhnWklYdfr8YaZv/iu+vY+ux7V5DS5zH1DQf6bO5ufrt/5cgNhVO5qyhsjFXvsqQb/f08DWE9b6uPscyAg== 2939 | dependencies: 2940 | lodash.get "^4.4.2" 2941 | lodash.isequal "^4.5.0" 2942 | validator "^13.7.0" 2943 | optionalDependencies: 2944 | commander "^10.0.0" 2945 | --------------------------------------------------------------------------------