├── .eslintrc.json ├── .gitignore ├── README.md ├── api ├── index.ts └── png.ts ├── assets ├── classSvg.ts ├── index.svg └── tierSvg.ts ├── package.json ├── src ├── card │ ├── converters.ts │ ├── index.ts │ └── templates.ts ├── fetch │ └── index.ts ├── types │ └── index.ts └── utils │ └── sanitizer.ts ├── tsconfig.json └── yarn.lock /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "es2021": true 5 | }, 6 | "extends": [ 7 | "eslint:recommended", 8 | "plugin:@typescript-eslint/recommended", 9 | "prettier" 10 | ], 11 | "parser": "@typescript-eslint/parser", 12 | "parserOptions": { 13 | "ecmaVersion": 12, 14 | "sourceType": "module" 15 | }, 16 | "plugins": ["@typescript-eslint", "prettier"], 17 | "rules": { 18 | "prettier/prettier": [ 19 | "error", 20 | { 21 | "printWidth": 80, 22 | "semi": true, 23 | "singleQuote": true, 24 | "trailingComma": "es5", 25 | "bracketSpacing": true, 26 | "arrowParens": "avoid", 27 | "tabWidth": 2, 28 | "useTabs": false 29 | } 30 | ] 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.toptal.com/developers/gitignore/api/node 3 | # Edit at https://www.toptal.com/developers/gitignore?templates=node 4 | 5 | ### Node ### 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | lerna-debug.log* 13 | 14 | # Diagnostic reports (https://nodejs.org/api/report.html) 15 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 16 | 17 | # Runtime data 18 | pids 19 | *.pid 20 | *.seed 21 | *.pid.lock 22 | 23 | # Directory for instrumented libs generated by jscoverage/JSCover 24 | lib-cov 25 | 26 | # Coverage directory used by tools like istanbul 27 | coverage 28 | *.lcov 29 | 30 | # nyc test coverage 31 | .nyc_output 32 | 33 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 34 | .grunt 35 | 36 | # Bower dependency directory (https://bower.io/) 37 | bower_components 38 | 39 | # node-waf configuration 40 | .lock-wscript 41 | 42 | # Compiled binary addons (https://nodejs.org/api/addons.html) 43 | build/Release 44 | 45 | # Dependency directories 46 | node_modules/ 47 | jspm_packages/ 48 | 49 | # TypeScript v1 declaration files 50 | typings/ 51 | 52 | # TypeScript cache 53 | *.tsbuildinfo 54 | 55 | # Optional npm cache directory 56 | .npm 57 | 58 | # Optional eslint cache 59 | .eslintcache 60 | 61 | # Microbundle cache 62 | .rpt2_cache/ 63 | .rts2_cache_cjs/ 64 | .rts2_cache_es/ 65 | .rts2_cache_umd/ 66 | 67 | # Optional REPL history 68 | .node_repl_history 69 | 70 | # Output of 'npm pack' 71 | *.tgz 72 | 73 | # Yarn Integrity file 74 | .yarn-integrity 75 | 76 | # dotenv environment variables file 77 | .env 78 | .env.test 79 | .env*.local 80 | 81 | # parcel-bundler cache (https://parceljs.org/) 82 | .cache 83 | .parcel-cache 84 | 85 | # Next.js build output 86 | .next 87 | 88 | # Nuxt.js build / generate output 89 | .nuxt 90 | dist 91 | 92 | # Gatsby files 93 | .cache/ 94 | # Comment in the public line in if your project uses Gatsby and not Next.js 95 | # https://nextjs.org/blog/next-9-1#public-directory-support 96 | # public 97 | 98 | # vuepress build output 99 | .vuepress/dist 100 | 101 | # Serverless directories 102 | .serverless/ 103 | 104 | # FuseBox cache 105 | .fusebox/ 106 | 107 | # DynamoDB Local files 108 | .dynamodb/ 109 | 110 | # TernJS port file 111 | .tern-port 112 | 113 | # Stores VSCode versions used for testing VSCode extensions 114 | .vscode-test 115 | 116 | # End of https://www.toptal.com/developers/gitignore/api/node 117 | .vercel 118 | 119 | .DS_Store 120 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # github-readme-solvedac 2 | 3 | 백준 온라인 저지 통계 앱인 [solved.ac](https://solved.ac)의 API를 이용하여 사용자의 전체 랭킹, 해결한 문제 수, 클래스, 그리고 티어를 보여주는 Stat card를 만들어주는 서비스입니다. 4 | 5 | ## 사용법 6 | 7 | 기본적인 사용방법은 [github-readme-stats](https://github.com/anuraghazra/github-readme-stats)와 동일합니다. 8 | 9 | 다음과 같이 작성하면 되며, 주소의 handle 쿼리에 자신의 백준 핸들을 입력해주세요. 10 | ```markdown 11 | ![hyp3rflow's solved.ac stats](https://github-readme-solvedac.hyp3rflow.vercel.app/api/?handle=hyperflow) 12 | ``` 13 | 14 | ## 예시 15 | ![hyp3rflow's solved.ac stats](https://github-readme-solvedac.hyp3rflow.vercel.app/api/?handle=hyperflow) 16 | 17 | ## Contribution 18 | ```sh 19 | yarn 20 | vercel dev 21 | ``` 22 | 커맨드를 이용해서 개발환경을 설정하신 후, PR을 생성해주세요. 23 | 24 | ## License 25 | Rank, Class 등 Image Asset에 대한 저작권은 [solved.ac](https://solved.ac)에 있습니다. 26 | -------------------------------------------------------------------------------- /api/index.ts: -------------------------------------------------------------------------------- 1 | import { NowRequest, NowResponse } from '@vercel/node'; 2 | import CardBuilder from '../src/card'; 3 | import { fetchUserInformation } from '../src/fetch'; 4 | 5 | export default async (request: NowRequest, response: NowResponse) => { 6 | const handle = request.query.handle; 7 | try { 8 | const userInformation = await fetchUserInformation(handle); 9 | if (userInformation) { 10 | response.setHeader('Content-Type', 'image/svg+xml'); 11 | response.setHeader('Cache-Control', `max-age=0, s-maxage=10`); 12 | const card = new CardBuilder({ 13 | width: 700, 14 | height: 150, 15 | data: userInformation, 16 | }); 17 | return response.send(await card.render()); 18 | } 19 | } catch (error) { 20 | console.error(error); 21 | return response.status(404).send(error); 22 | } 23 | return response.status(500).send(''); 24 | }; 25 | -------------------------------------------------------------------------------- /api/png.ts: -------------------------------------------------------------------------------- 1 | /* 2 | @Deprecated 3 | png export API has been deprecated. 4 | */ 5 | 6 | // import { NowRequest, NowResponse } from '@vercel/node'; 7 | // import { convert } from 'convert-svg-to-png'; 8 | // import chrome from 'chrome-aws-lambda'; 9 | // import puppeteer from 'puppeteer-core'; 10 | // import Card from '../src/card'; 11 | // import { fetcher } from '../src/fetch/dataFetcher'; 12 | 13 | // export default async (request: NowRequest, response: NowResponse) => { 14 | // const handle = request.query.handle; 15 | // const data = await fetcher(handle); 16 | 17 | // if (data.success === true) { 18 | // response.setHeader('Content-Type', 'image/png'); 19 | // response.setHeader('Cache-Control', `max-age=0, s-maxage=10`); 20 | 21 | // await chrome.font(__dirname + '/NotoSansKR-Bold.otf'); 22 | 23 | // const browser = await puppeteer.launch({ 24 | // args: chrome.args, 25 | // executablePath: await chrome.executablePath, 26 | // headless: chrome.headless, 27 | // }); 28 | 29 | // const page = await browser.newPage(); 30 | // page.setViewport({ width: 700, height: 150 }); 31 | // await page.goto( 32 | // `https://github-readme-solvedac.hyp3rflow.vercel.app/api/?handle=${handle}` 33 | // ); 34 | // const png = await page.screenshot({ omitBackground: true }); 35 | // await browser.close(); 36 | 37 | // response.send(png); 38 | // } else { 39 | // response.status(404).send(''); 40 | // } 41 | // }; 42 | -------------------------------------------------------------------------------- /assets/classSvg.ts: -------------------------------------------------------------------------------- 1 | const classSvg: Record = { 2 | 0: 'c0', 3 | 1: 'c1', 4 | 2: 'c2', 5 | 3: 'c3', 6 | 4: 'c4', 7 | 5: 'c5', 8 | 6: 'c6', 9 | 7: 'c7', 10 | 8: 'c8', 11 | 9: 'c9', 12 | 10: 'c10', 13 | }; 14 | 15 | export default classSvg; 16 | -------------------------------------------------------------------------------- /assets/index.svg: -------------------------------------------------------------------------------- 1 | 10 | 79 | 89 | 90 | 91 | 96 | 97 | hyperflow 98 | 99 | 100 | 101 | 가나다라마가나다라마가나다라마가나다라마가나다라마가나다라마 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | Platinum IV 110 | 3,891,191,500 / 3,891,191,500 111 | 112 | 113 | 114 | 115 | 116 | 전체 랭킹 117 | 1 118 | 119 | 120 | 문제 해결 수 121 | 8,705 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 134 | 135 | 136 | 0 137 | 138 | 139 | 140 | -------------------------------------------------------------------------------- /assets/tierSvg.ts: -------------------------------------------------------------------------------- 1 | const tierSvg: Record = { 2 | 0: '0', 3 | 1: '1', 4 | 2: '2', 5 | 3: '3', 6 | 4: '4', 7 | 5: '5', 8 | 6: '6', 9 | 7: '7', 10 | 8: '8', 11 | 9: '9', 12 | 10: '10', 13 | 11: '11', 14 | 12: '12', 15 | 13: '13', 16 | 14: '14', 17 | 15: '15', 18 | 16: '16', 19 | 17: '17', 20 | 18: '18', 21 | 19: '19', 22 | 20: '20', 23 | 21: '21', 24 | 22: '22', 25 | 23: '23', 26 | 24: '24', 27 | 25: '25', 28 | 26: '26', 29 | 27: '27', 30 | 28: '28', 31 | 29: '29', 32 | 30: '30', 33 | 31: `\n\n\n\t\n\t\n\t\n\n\n\n\t\n\n\n`, 34 | }; 35 | 36 | export default tierSvg; 37 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "github-readme-solvedac", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "type": "module", 7 | "dependencies": { 8 | "chrome-aws-lambda": "^5.5.0", 9 | "convert-svg-to-png": "^0.5.0", 10 | "isomorphic-fetch": "^3.0.0" 11 | }, 12 | "devDependencies": { 13 | "@types/isomorphic-fetch": "^0.0.35", 14 | "@types/puppeteer-core": "^5.4.0", 15 | "@typescript-eslint/eslint-plugin": "^5.0.0", 16 | "@typescript-eslint/parser": "^5.0.0", 17 | "@vercel/node": "^1.8.5", 18 | "eslint": "^8.0.0", 19 | "eslint-config-prettier": "^8.3.0", 20 | "eslint-plugin-prettier": "^4.0.0", 21 | "prettier": "^2.4.1", 22 | "puppeteer-core": "^5.5.0" 23 | }, 24 | "scripts": { 25 | "test": "echo \"Error: no test specified\" && exit 1", 26 | "lint": "eslint src --ext .ts", 27 | "lint:fix": "yarn lint --fix" 28 | }, 29 | "author": "", 30 | "license": "ISC" 31 | } 32 | -------------------------------------------------------------------------------- /src/card/converters.ts: -------------------------------------------------------------------------------- 1 | import { TierRank, TierDivision } from '../types'; 2 | 3 | export const getTierString = (tier: number): string => { 4 | const tierRankList: TierRank[] = [ 5 | 'Bronze', 6 | 'Silver', 7 | 'Gold', 8 | 'Platinum', 9 | 'Diamond', 10 | 'Ruby', 11 | 'Master', 12 | ]; 13 | const tierDivisionList: TierDivision[] = ['I', 'II', 'III', 'IV', 'V']; 14 | 15 | if (tier) { 16 | const tierRank = tierRankList[Math.floor((tier - 1) / 5)]; 17 | const tierDivision = tierDivisionList[4 - ((tier - 1) % 5)]; 18 | 19 | if (tierRank === 'Master') { 20 | return tierRank; 21 | } 22 | return [tierRank, tierDivision].join(' '); 23 | } 24 | return 'Unrated'; 25 | }; 26 | 27 | export const getTierRank = (tier: number): TierRank => { 28 | const tierRankList: TierRank[] = [ 29 | 'Bronze', 30 | 'Silver', 31 | 'Gold', 32 | 'Platinum', 33 | 'Diamond', 34 | 'Ruby', 35 | 'Master', 36 | ]; 37 | return tier ? tierRankList[Math.floor((tier - 1) / 5)] : 'Unrated'; 38 | }; 39 | -------------------------------------------------------------------------------- /src/card/index.ts: -------------------------------------------------------------------------------- 1 | import classSvg from '../../assets/classSvg'; 2 | import tierSvg from '../../assets/tierSvg'; 3 | import { fetchImage } from '../fetch'; 4 | import { UserInformation } from '../types'; 5 | import { sanitizeString } from '../utils/sanitizer'; 6 | import { getTierRank, getTierString } from './converters'; 7 | import { getGlobalStyle, getMasterGradient } from './templates'; 8 | 9 | interface CardBuilderProps { 10 | width?: number; 11 | height?: number; 12 | data: UserInformation; 13 | } 14 | 15 | class CardBuilder { 16 | private width = 700; 17 | private height = 150; 18 | private data: UserInformation; 19 | 20 | constructor({ width = 700, height = 150, data }: CardBuilderProps) { 21 | this.width = width; 22 | this.height = height; 23 | this.data = data; 24 | } 25 | 26 | async render() { 27 | const { 28 | handle, 29 | bio, 30 | tier, 31 | rank, 32 | solvedCount, 33 | class: classNumber, 34 | badge, 35 | rating, 36 | } = this.data; 37 | 38 | const tierString = getTierString(tier); 39 | const tierRank = getTierRank(tier).toLowerCase(); 40 | const getTierSvg = (tier: number) => tierSvg[tier]; 41 | const getClassSvg = (classNumber: number) => classSvg[classNumber]; 42 | const badgeImageUrl = badge?.badgeImageUrl; 43 | const fetchBadgeImage = badgeImageUrl 44 | ? await fetchImage(badgeImageUrl) 45 | : ''; 46 | 47 | return ` 56 | ${getGlobalStyle()} 57 | ${getMasterGradient()} 58 | 68 | 69 | 70 | ${getTierSvg(tier)} 71 | 72 | ${handle} 73 | 74 | 75 | 76 | ${sanitizeString(bio)} 77 | 78 | 79 | 80 | 81 | 82 | 83 | ${rating} 84 | ${tierString} 85 | 86 | 87 | 88 | 전체 랭킹 89 | ${rank} 90 | 91 | 92 | 문제 해결 수 93 | ${solvedCount} 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | ${getClassSvg(classNumber)} 102 | 103 | ${ 104 | badgeImageUrl && 105 | `` 106 | } 107 | 108 | `; 109 | } 110 | } 111 | 112 | export default CardBuilder; 113 | -------------------------------------------------------------------------------- /src/card/templates.ts: -------------------------------------------------------------------------------- 1 | export const getGlobalStyle = () => ` 2 | `; 121 | 122 | export const getMasterGradient = ( 123 | id = 'gr-master' 124 | ) => ` 125 | 126 | 127 | 128 | `; 129 | -------------------------------------------------------------------------------- /src/fetch/index.ts: -------------------------------------------------------------------------------- 1 | import fetch from 'isomorphic-fetch'; 2 | import { UserInformation } from '../types'; 3 | 4 | export const fetchUserInformation = async ( 5 | handle: string | string[] 6 | ): Promise => { 7 | const data = await fetch( 8 | `https://solved.ac/api/v3/user/show?handle=${handle}` 9 | ); 10 | const result = (await data.json()) as UserInformation; 11 | return result; 12 | }; 13 | 14 | export const fetchImage = async (imageUrl: string) => { 15 | const data = await fetch(imageUrl); 16 | let result = ''; 17 | const arrayBuffer = await data.arrayBuffer(); 18 | if (arrayBuffer) { 19 | const byteArray = new Uint8Array(arrayBuffer); 20 | for (let i = 0; i < arrayBuffer.byteLength; i++) { 21 | result += String.fromCharCode(byteArray[i]); 22 | } 23 | } 24 | return Buffer.from(result, 'binary').toString('base64'); 25 | }; 26 | -------------------------------------------------------------------------------- /src/types/index.ts: -------------------------------------------------------------------------------- 1 | interface Organization { 2 | organizationId: number; 3 | name: string; 4 | type: 'community' | 'university' | 'company' | 'high_school'; 5 | rating: number; 6 | userCount: number; 7 | voteCount: number; 8 | solvedCount: number; 9 | color: string; 10 | } 11 | 12 | interface Badge { 13 | badgeId: string; 14 | badgeImageUrl: string; 15 | displayName: string; 16 | displayDescription: string; 17 | } 18 | 19 | interface Background { 20 | backgroundId: string; 21 | backgroundImageUrl: string; 22 | author: string; 23 | authorUrl: string; 24 | displayName: string; 25 | displayDescription: string; 26 | } 27 | 28 | export interface UserInformation { 29 | handle: string; 30 | bio: string; 31 | organizations: Organization[]; 32 | badge?: Badge; 33 | background: Background; 34 | profileImageUrl: string; 35 | solvedCount: number; 36 | voteCount: number; 37 | exp: number; 38 | tier: number; 39 | rating: number; 40 | ratingByProblemSum: number; 41 | ratingByClass: number; 42 | ratingBySolvedCount: number; 43 | ratingByVoteCount: number; 44 | class: number; 45 | classDecoration: 'none' | 'silver' | 'gold'; 46 | rivalCount: number; 47 | reverseRivalCount: number; 48 | maxStreak: number; 49 | rank: number; 50 | isRival?: boolean; 51 | isReverseRival?: boolean; 52 | } 53 | 54 | export type TierRank = 55 | | 'Unrated' 56 | | 'Bronze' 57 | | 'Silver' 58 | | 'Gold' 59 | | 'Platinum' 60 | | 'Diamond' 61 | | 'Ruby' 62 | | 'Master'; 63 | 64 | export type TierDivision = 'I' | 'II' | 'III' | 'IV' | 'V'; 65 | -------------------------------------------------------------------------------- /src/utils/sanitizer.ts: -------------------------------------------------------------------------------- 1 | export const sanitizeString = (text: string) => { 2 | return text 3 | .replace(/&/g, '&') 4 | .replace(//g, '>') 6 | .replace(/"/g, '"') 7 | .replace(/'/g, '''); 8 | }; 9 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Basic Options */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ 8 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ 9 | // "lib": [], /* Specify library files to be included in the compilation. */ 10 | // "allowJs": true, /* Allow javascript files to be compiled. */ 11 | // "checkJs": true, /* Report errors in .js files. */ 12 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 13 | // "declaration": true, /* Generates corresponding '.d.ts' file. */ 14 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 15 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 16 | // "outFile": "./", /* Concatenate and emit output to single file. */ 17 | // "outDir": "./", /* Redirect output structure to the directory. */ 18 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 19 | // "composite": true, /* Enable project compilation */ 20 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 21 | // "removeComments": true, /* Do not emit comments to output. */ 22 | // "noEmit": true, /* Do not emit outputs. */ 23 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 24 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 25 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 26 | 27 | /* Strict Type-Checking Options */ 28 | "strict": true, /* Enable all strict type-checking options. */ 29 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 30 | // "strictNullChecks": true, /* Enable strict null checks. */ 31 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 32 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 33 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 34 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 35 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 36 | 37 | /* Additional Checks */ 38 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 39 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 40 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 41 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 42 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 43 | 44 | /* Module Resolution Options */ 45 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 46 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 47 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 48 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 49 | // "typeRoots": [], /* List of folders to include type definitions from. */ 50 | // "types": [], /* Type declaration files to be included in compilation. */ 51 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 52 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 53 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 54 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 55 | 56 | /* Source Map Options */ 57 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 58 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 59 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 60 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 61 | 62 | /* Experimental Options */ 63 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 64 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 65 | 66 | /* Advanced Options */ 67 | "skipLibCheck": true, /* Skip type checking of declaration files. */ 68 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@eslint/eslintrc@^1.0.2": 6 | version "1.0.2" 7 | resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.2.tgz" 8 | integrity sha512-x1ZXdEFsvTcnbTZgqcWUL9w2ybgZCw/qbKTPQnab+XnYA2bMQpJCh+/bBzCRfDJaJdlrrQlOk49jNtru9gL/6Q== 9 | dependencies: 10 | ajv "^6.12.4" 11 | debug "^4.3.2" 12 | espree "^9.0.0" 13 | globals "^13.9.0" 14 | ignore "^4.0.6" 15 | import-fresh "^3.2.1" 16 | js-yaml "^3.13.1" 17 | minimatch "^3.0.4" 18 | strip-json-comments "^3.1.1" 19 | 20 | "@humanwhocodes/config-array@^0.6.0": 21 | version "0.6.0" 22 | resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz" 23 | integrity sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A== 24 | dependencies: 25 | "@humanwhocodes/object-schema" "^1.2.0" 26 | debug "^4.1.1" 27 | minimatch "^3.0.4" 28 | 29 | "@humanwhocodes/object-schema@^1.2.0": 30 | version "1.2.0" 31 | resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz" 32 | integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== 33 | 34 | "@nodelib/fs.scandir@2.1.5": 35 | version "2.1.5" 36 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 37 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 38 | dependencies: 39 | "@nodelib/fs.stat" "2.0.5" 40 | run-parallel "^1.1.9" 41 | 42 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 43 | version "2.0.5" 44 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 45 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 46 | 47 | "@nodelib/fs.walk@^1.2.3": 48 | version "1.2.8" 49 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 50 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 51 | dependencies: 52 | "@nodelib/fs.scandir" "2.1.5" 53 | fastq "^1.6.0" 54 | 55 | "@types/isomorphic-fetch@^0.0.35": 56 | version "0.0.35" 57 | resolved "https://registry.yarnpkg.com/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.35.tgz#c1c0d402daac324582b6186b91f8905340ea3361" 58 | integrity sha512-DaZNUvLDCAnCTjgwxgiL1eQdxIKEpNLOlTNtAgnZc50bG2copGhRrFN9/PxPBuJe+tZVLCbQ7ls0xveXVRPkvw== 59 | 60 | "@types/json-schema@^7.0.7": 61 | version "7.0.9" 62 | resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" 63 | integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== 64 | 65 | "@types/node@*": 66 | version "14.14.16" 67 | resolved "https://registry.npmjs.org/@types/node/-/node-14.14.16.tgz" 68 | integrity sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw== 69 | 70 | "@types/puppeteer-core@^5.4.0": 71 | version "5.4.0" 72 | resolved "https://registry.npmjs.org/@types/puppeteer-core/-/puppeteer-core-5.4.0.tgz" 73 | integrity sha512-yqRPuv4EFcSkTyin6Yy17pN6Qz2vwVwTCJIDYMXbE3j8vTPhv0nCQlZOl5xfi0WHUkqvQsjAR8hAfjeMCoetwg== 74 | dependencies: 75 | "@types/puppeteer" "*" 76 | 77 | "@types/puppeteer@*": 78 | version "5.4.4" 79 | resolved "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-5.4.4.tgz" 80 | integrity sha512-3Nau+qi69CN55VwZb0ATtdUAlYlqOOQ3OfQfq0Hqgc4JMFXiQT/XInlwQ9g6LbicDslE6loIFsXFklGh5XmI6Q== 81 | dependencies: 82 | "@types/node" "*" 83 | 84 | "@types/yauzl@^2.9.1": 85 | version "2.9.2" 86 | resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz" 87 | integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== 88 | dependencies: 89 | "@types/node" "*" 90 | 91 | "@typescript-eslint/eslint-plugin@^5.0.0": 92 | version "5.0.0" 93 | resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.0.0.tgz" 94 | integrity sha512-T6V6fCD2U0YesOedvydTnrNtsC8E+c2QzpawIpDdlaObX0OX5dLo7tLU5c64FhTZvA1Xrdim+cXDI7NPsVx8Cg== 95 | dependencies: 96 | "@typescript-eslint/experimental-utils" "5.0.0" 97 | "@typescript-eslint/scope-manager" "5.0.0" 98 | debug "^4.3.1" 99 | functional-red-black-tree "^1.0.1" 100 | ignore "^5.1.8" 101 | regexpp "^3.1.0" 102 | semver "^7.3.5" 103 | tsutils "^3.21.0" 104 | 105 | "@typescript-eslint/experimental-utils@5.0.0": 106 | version "5.0.0" 107 | resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.0.0.tgz" 108 | integrity sha512-Dnp4dFIsZcPawD6CT1p5NibNUQyGSEz80sULJZkyhyna8AEqArmfwMwJPbmKzWVo4PabqNVzHYlzmcdLQWk+pg== 109 | dependencies: 110 | "@types/json-schema" "^7.0.7" 111 | "@typescript-eslint/scope-manager" "5.0.0" 112 | "@typescript-eslint/types" "5.0.0" 113 | "@typescript-eslint/typescript-estree" "5.0.0" 114 | eslint-scope "^5.1.1" 115 | eslint-utils "^3.0.0" 116 | 117 | "@typescript-eslint/parser@^5.0.0": 118 | version "5.0.0" 119 | resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.0.0.tgz" 120 | integrity sha512-B6D5rmmQ14I1fdzs71eL3DAuvnPHTY/t7rQABrL9BLnx/H51Un8ox1xqYAchs0/V2trcoyxB1lMJLlrwrJCDgw== 121 | dependencies: 122 | "@typescript-eslint/scope-manager" "5.0.0" 123 | "@typescript-eslint/types" "5.0.0" 124 | "@typescript-eslint/typescript-estree" "5.0.0" 125 | debug "^4.3.1" 126 | 127 | "@typescript-eslint/scope-manager@5.0.0": 128 | version "5.0.0" 129 | resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.0.0.tgz" 130 | integrity sha512-5RFjdA/ain/MDUHYXdF173btOKncIrLuBmA9s6FJhzDrRAyVSA+70BHg0/MW6TE+UiKVyRtX91XpVS0gVNwVDQ== 131 | dependencies: 132 | "@typescript-eslint/types" "5.0.0" 133 | "@typescript-eslint/visitor-keys" "5.0.0" 134 | 135 | "@typescript-eslint/types@5.0.0": 136 | version "5.0.0" 137 | resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.0.0.tgz" 138 | integrity sha512-dU/pKBUpehdEqYuvkojmlv0FtHuZnLXFBn16zsDmlFF3LXkOpkAQ2vrKc3BidIIve9EMH2zfTlxqw9XM0fFN5w== 139 | 140 | "@typescript-eslint/typescript-estree@5.0.0": 141 | version "5.0.0" 142 | resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.0.0.tgz" 143 | integrity sha512-V/6w+PPQMhinWKSn+fCiX5jwvd1vRBm7AX7SJQXEGQtwtBvjMPjaU3YTQ1ik2UF1u96X7tsB96HMnulG3eLi9Q== 144 | dependencies: 145 | "@typescript-eslint/types" "5.0.0" 146 | "@typescript-eslint/visitor-keys" "5.0.0" 147 | debug "^4.3.1" 148 | globby "^11.0.3" 149 | is-glob "^4.0.1" 150 | semver "^7.3.5" 151 | tsutils "^3.21.0" 152 | 153 | "@typescript-eslint/visitor-keys@5.0.0": 154 | version "5.0.0" 155 | resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.0.0.tgz" 156 | integrity sha512-yRyd2++o/IrJdyHuYMxyFyBhU762MRHQ/bAGQeTnN3pGikfh+nEmM61XTqaDH1XDp53afZ+waXrk0ZvenoZ6xw== 157 | dependencies: 158 | "@typescript-eslint/types" "5.0.0" 159 | eslint-visitor-keys "^3.0.0" 160 | 161 | "@vercel/node@^1.8.5": 162 | version "1.8.5" 163 | resolved "https://registry.npmjs.org/@vercel/node/-/node-1.8.5.tgz" 164 | integrity sha512-1iw7FSR8Oau6vZB1MWfBnA5q2a/IqRHiSZSbt8lz0dyTF599q8pc5GcSv/TvmrYaEGzh3+N0S4cbmuMCqVlwJg== 165 | dependencies: 166 | "@types/node" "*" 167 | ts-node "8.9.1" 168 | typescript "3.9.3" 169 | 170 | acorn-jsx@^5.3.1: 171 | version "5.3.2" 172 | resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" 173 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 174 | 175 | acorn@^8.5.0: 176 | version "8.5.0" 177 | resolved "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz" 178 | integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== 179 | 180 | agent-base@5: 181 | version "5.1.1" 182 | resolved "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz" 183 | integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== 184 | 185 | agent-base@^4.3.0: 186 | version "4.3.0" 187 | resolved "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz" 188 | integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== 189 | dependencies: 190 | es6-promisify "^5.0.0" 191 | 192 | ajv@^6.10.0, ajv@^6.12.4: 193 | version "6.12.6" 194 | resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" 195 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 196 | dependencies: 197 | fast-deep-equal "^3.1.1" 198 | fast-json-stable-stringify "^2.0.0" 199 | json-schema-traverse "^0.4.1" 200 | uri-js "^4.2.2" 201 | 202 | ansi-colors@^4.1.1: 203 | version "4.1.1" 204 | resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" 205 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 206 | 207 | ansi-regex@^5.0.1: 208 | version "5.0.1" 209 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 210 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 211 | 212 | ansi-styles@^3.2.1: 213 | version "3.2.1" 214 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 215 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 216 | dependencies: 217 | color-convert "^1.9.0" 218 | 219 | ansi-styles@^4.1.0: 220 | version "4.3.0" 221 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 222 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 223 | dependencies: 224 | color-convert "^2.0.1" 225 | 226 | arg@^4.1.0: 227 | version "4.1.3" 228 | resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" 229 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 230 | 231 | argparse@^1.0.7: 232 | version "1.0.10" 233 | resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" 234 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 235 | dependencies: 236 | sprintf-js "~1.0.2" 237 | 238 | argparse@^2.0.1: 239 | version "2.0.1" 240 | resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" 241 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 242 | 243 | array-union@^2.1.0: 244 | version "2.1.0" 245 | resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" 246 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 247 | 248 | async-limiter@~1.0.0: 249 | version "1.0.1" 250 | resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" 251 | integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== 252 | 253 | balanced-match@^1.0.0: 254 | version "1.0.2" 255 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 256 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 257 | 258 | base64-js@^1.3.1: 259 | version "1.5.1" 260 | resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" 261 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 262 | 263 | bl@^4.0.3: 264 | version "4.1.0" 265 | resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" 266 | integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== 267 | dependencies: 268 | buffer "^5.5.0" 269 | inherits "^2.0.4" 270 | readable-stream "^3.4.0" 271 | 272 | brace-expansion@^1.1.7: 273 | version "1.1.11" 274 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 275 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 276 | dependencies: 277 | balanced-match "^1.0.0" 278 | concat-map "0.0.1" 279 | 280 | braces@^3.0.1: 281 | version "3.0.2" 282 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" 283 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 284 | dependencies: 285 | fill-range "^7.0.1" 286 | 287 | buffer-crc32@~0.2.3: 288 | version "0.2.13" 289 | resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" 290 | integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= 291 | 292 | buffer-from@^1.0.0: 293 | version "1.1.1" 294 | resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" 295 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 296 | 297 | buffer@^5.2.1, buffer@^5.5.0: 298 | version "5.7.1" 299 | resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" 300 | integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 301 | dependencies: 302 | base64-js "^1.3.1" 303 | ieee754 "^1.1.13" 304 | 305 | callsites@^3.0.0: 306 | version "3.1.0" 307 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" 308 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 309 | 310 | chalk@^2.4.1: 311 | version "2.4.2" 312 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 313 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 314 | dependencies: 315 | ansi-styles "^3.2.1" 316 | escape-string-regexp "^1.0.5" 317 | supports-color "^5.3.0" 318 | 319 | chalk@^4.0.0: 320 | version "4.1.2" 321 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" 322 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 323 | dependencies: 324 | ansi-styles "^4.1.0" 325 | supports-color "^7.1.0" 326 | 327 | chownr@^1.1.1: 328 | version "1.1.4" 329 | resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" 330 | integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 331 | 332 | chrome-aws-lambda@^5.5.0: 333 | version "5.5.0" 334 | resolved "https://registry.npmjs.org/chrome-aws-lambda/-/chrome-aws-lambda-5.5.0.tgz" 335 | integrity sha512-nYSDzTsVEVsvIFaUUAUN53ulXBLKSRXFS+eVYZOLZD5SA1If59rqBAiy4raMgorQwXWqjSsjK1SF4As+qzPLqA== 336 | dependencies: 337 | lambdafs "^2.0.0" 338 | 339 | color-convert@^1.9.0: 340 | version "1.9.3" 341 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 342 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 343 | dependencies: 344 | color-name "1.1.3" 345 | 346 | color-convert@^2.0.1: 347 | version "2.0.1" 348 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 349 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 350 | dependencies: 351 | color-name "~1.1.4" 352 | 353 | color-name@1.1.3: 354 | version "1.1.3" 355 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 356 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 357 | 358 | color-name@~1.1.4: 359 | version "1.1.4" 360 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 361 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 362 | 363 | commander@^2.19.0: 364 | version "2.20.3" 365 | resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" 366 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 367 | 368 | concat-map@0.0.1: 369 | version "0.0.1" 370 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 371 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 372 | 373 | concat-stream@^1.6.2: 374 | version "1.6.2" 375 | resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" 376 | integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== 377 | dependencies: 378 | buffer-from "^1.0.0" 379 | inherits "^2.0.3" 380 | readable-stream "^2.2.2" 381 | typedarray "^0.0.6" 382 | 383 | convert-svg-core@^0.5.0: 384 | version "0.5.0" 385 | resolved "https://registry.npmjs.org/convert-svg-core/-/convert-svg-core-0.5.0.tgz" 386 | integrity sha512-V30vm5h4sHjmjyAr7o/gYAEmdEIsi0sLKKbDigSxplovCzMHTERXSikIOgA8xSllHh0c4gHYP55Pxwgtu9O+3w== 387 | dependencies: 388 | chalk "^2.4.1" 389 | commander "^2.19.0" 390 | file-url "^2.0.2" 391 | get-stdin "^6.0.0" 392 | glob "^7.1.3" 393 | lodash.omit "^4.5.0" 394 | lodash.pick "^4.4.0" 395 | pollock "^0.2.0" 396 | puppeteer "^1.10.0" 397 | tmp "0.0.33" 398 | 399 | convert-svg-to-png@^0.5.0: 400 | version "0.5.0" 401 | resolved "https://registry.npmjs.org/convert-svg-to-png/-/convert-svg-to-png-0.5.0.tgz" 402 | integrity sha512-Pzg2IEirPdN/VXovG9NY8H5Ww3PUEohMcyu9a11E0G0/oVcbPLWQYE3/S6mxpjidqzYr1i5iKLTKCiU9hctKFQ== 403 | dependencies: 404 | convert-svg-core "^0.5.0" 405 | 406 | core-util-is@~1.0.0: 407 | version "1.0.3" 408 | resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" 409 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 410 | 411 | cross-spawn@^7.0.2: 412 | version "7.0.3" 413 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" 414 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 415 | dependencies: 416 | path-key "^3.1.0" 417 | shebang-command "^2.0.0" 418 | which "^2.0.1" 419 | 420 | debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: 421 | version "4.3.2" 422 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" 423 | integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== 424 | dependencies: 425 | ms "2.1.2" 426 | 427 | debug@^2.6.9: 428 | version "2.6.9" 429 | resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" 430 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 431 | dependencies: 432 | ms "2.0.0" 433 | 434 | debug@^3.1.0: 435 | version "3.2.7" 436 | resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" 437 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 438 | dependencies: 439 | ms "^2.1.1" 440 | 441 | deep-is@^0.1.3: 442 | version "0.1.4" 443 | resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" 444 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 445 | 446 | devtools-protocol@0.0.818844: 447 | version "0.0.818844" 448 | resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.818844.tgz" 449 | integrity sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg== 450 | 451 | diff@^4.0.1: 452 | version "4.0.2" 453 | resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" 454 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 455 | 456 | dir-glob@^3.0.1: 457 | version "3.0.1" 458 | resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" 459 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 460 | dependencies: 461 | path-type "^4.0.0" 462 | 463 | doctrine@^3.0.0: 464 | version "3.0.0" 465 | resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" 466 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 467 | dependencies: 468 | esutils "^2.0.2" 469 | 470 | end-of-stream@^1.1.0, end-of-stream@^1.4.1: 471 | version "1.4.4" 472 | resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" 473 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 474 | dependencies: 475 | once "^1.4.0" 476 | 477 | enquirer@^2.3.5: 478 | version "2.3.6" 479 | resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" 480 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 481 | dependencies: 482 | ansi-colors "^4.1.1" 483 | 484 | es6-promise@^4.0.3: 485 | version "4.2.8" 486 | resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" 487 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== 488 | 489 | es6-promisify@^5.0.0: 490 | version "5.0.0" 491 | resolved "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz" 492 | integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= 493 | dependencies: 494 | es6-promise "^4.0.3" 495 | 496 | escape-string-regexp@^1.0.5: 497 | version "1.0.5" 498 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 499 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 500 | 501 | escape-string-regexp@^4.0.0: 502 | version "4.0.0" 503 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" 504 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 505 | 506 | eslint-config-prettier@^8.3.0: 507 | version "8.3.0" 508 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" 509 | integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== 510 | 511 | eslint-plugin-prettier@^4.0.0: 512 | version "4.0.0" 513 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" 514 | integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== 515 | dependencies: 516 | prettier-linter-helpers "^1.0.0" 517 | 518 | eslint-scope@^5.1.1: 519 | version "5.1.1" 520 | resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" 521 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 522 | dependencies: 523 | esrecurse "^4.3.0" 524 | estraverse "^4.1.1" 525 | 526 | eslint-scope@^6.0.0: 527 | version "6.0.0" 528 | resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-6.0.0.tgz" 529 | integrity sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA== 530 | dependencies: 531 | esrecurse "^4.3.0" 532 | estraverse "^5.2.0" 533 | 534 | eslint-utils@^3.0.0: 535 | version "3.0.0" 536 | resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" 537 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 538 | dependencies: 539 | eslint-visitor-keys "^2.0.0" 540 | 541 | eslint-visitor-keys@^2.0.0: 542 | version "2.1.0" 543 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" 544 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 545 | 546 | eslint-visitor-keys@^3.0.0: 547 | version "3.0.0" 548 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.0.0.tgz" 549 | integrity sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q== 550 | 551 | eslint@^8.0.0: 552 | version "8.0.0" 553 | resolved "https://registry.npmjs.org/eslint/-/eslint-8.0.0.tgz" 554 | integrity sha512-03spzPzMAO4pElm44m60Nj08nYonPGQXmw6Ceai/S4QK82IgwWO1EXx1s9namKzVlbVu3Jf81hb+N+8+v21/HQ== 555 | dependencies: 556 | "@eslint/eslintrc" "^1.0.2" 557 | "@humanwhocodes/config-array" "^0.6.0" 558 | ajv "^6.10.0" 559 | chalk "^4.0.0" 560 | cross-spawn "^7.0.2" 561 | debug "^4.3.2" 562 | doctrine "^3.0.0" 563 | enquirer "^2.3.5" 564 | escape-string-regexp "^4.0.0" 565 | eslint-scope "^6.0.0" 566 | eslint-utils "^3.0.0" 567 | eslint-visitor-keys "^3.0.0" 568 | espree "^9.0.0" 569 | esquery "^1.4.0" 570 | esutils "^2.0.2" 571 | fast-deep-equal "^3.1.3" 572 | file-entry-cache "^6.0.1" 573 | functional-red-black-tree "^1.0.1" 574 | glob-parent "^6.0.1" 575 | globals "^13.6.0" 576 | ignore "^4.0.6" 577 | import-fresh "^3.0.0" 578 | imurmurhash "^0.1.4" 579 | is-glob "^4.0.0" 580 | js-yaml "^4.1.0" 581 | json-stable-stringify-without-jsonify "^1.0.1" 582 | levn "^0.4.1" 583 | lodash.merge "^4.6.2" 584 | minimatch "^3.0.4" 585 | natural-compare "^1.4.0" 586 | optionator "^0.9.1" 587 | progress "^2.0.0" 588 | regexpp "^3.2.0" 589 | semver "^7.2.1" 590 | strip-ansi "^6.0.0" 591 | strip-json-comments "^3.1.0" 592 | text-table "^0.2.0" 593 | v8-compile-cache "^2.0.3" 594 | 595 | espree@^9.0.0: 596 | version "9.0.0" 597 | resolved "https://registry.npmjs.org/espree/-/espree-9.0.0.tgz" 598 | integrity sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ== 599 | dependencies: 600 | acorn "^8.5.0" 601 | acorn-jsx "^5.3.1" 602 | eslint-visitor-keys "^3.0.0" 603 | 604 | esprima@^4.0.0: 605 | version "4.0.1" 606 | resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" 607 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 608 | 609 | esquery@^1.4.0: 610 | version "1.4.0" 611 | resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" 612 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 613 | dependencies: 614 | estraverse "^5.1.0" 615 | 616 | esrecurse@^4.3.0: 617 | version "4.3.0" 618 | resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" 619 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 620 | dependencies: 621 | estraverse "^5.2.0" 622 | 623 | estraverse@^4.1.1: 624 | version "4.3.0" 625 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" 626 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 627 | 628 | estraverse@^5.1.0, estraverse@^5.2.0: 629 | version "5.2.0" 630 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" 631 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 632 | 633 | esutils@^2.0.2: 634 | version "2.0.3" 635 | resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 636 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 637 | 638 | extract-zip@^1.6.6: 639 | version "1.7.0" 640 | resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" 641 | integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== 642 | dependencies: 643 | concat-stream "^1.6.2" 644 | debug "^2.6.9" 645 | mkdirp "^0.5.4" 646 | yauzl "^2.10.0" 647 | 648 | extract-zip@^2.0.0: 649 | version "2.0.1" 650 | resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz" 651 | integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== 652 | dependencies: 653 | debug "^4.1.1" 654 | get-stream "^5.1.0" 655 | yauzl "^2.10.0" 656 | optionalDependencies: 657 | "@types/yauzl" "^2.9.1" 658 | 659 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 660 | version "3.1.3" 661 | resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 662 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 663 | 664 | fast-diff@^1.1.2: 665 | version "1.2.0" 666 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" 667 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 668 | 669 | fast-glob@^3.1.1: 670 | version "3.2.7" 671 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" 672 | integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== 673 | dependencies: 674 | "@nodelib/fs.stat" "^2.0.2" 675 | "@nodelib/fs.walk" "^1.2.3" 676 | glob-parent "^5.1.2" 677 | merge2 "^1.3.0" 678 | micromatch "^4.0.4" 679 | 680 | fast-json-stable-stringify@^2.0.0: 681 | version "2.1.0" 682 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 683 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 684 | 685 | fast-levenshtein@^2.0.6: 686 | version "2.0.6" 687 | resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" 688 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 689 | 690 | fastq@^1.6.0: 691 | version "1.13.0" 692 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" 693 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 694 | dependencies: 695 | reusify "^1.0.4" 696 | 697 | fd-slicer@~1.1.0: 698 | version "1.1.0" 699 | resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" 700 | integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= 701 | dependencies: 702 | pend "~1.2.0" 703 | 704 | file-entry-cache@^6.0.1: 705 | version "6.0.1" 706 | resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" 707 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 708 | dependencies: 709 | flat-cache "^3.0.4" 710 | 711 | file-url@^2.0.2: 712 | version "2.0.2" 713 | resolved "https://registry.npmjs.org/file-url/-/file-url-2.0.2.tgz" 714 | integrity sha1-6VF4TXkJUSfTcTApqwY/QIGMoq4= 715 | 716 | fill-range@^7.0.1: 717 | version "7.0.1" 718 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" 719 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 720 | dependencies: 721 | to-regex-range "^5.0.1" 722 | 723 | find-up@^4.0.0: 724 | version "4.1.0" 725 | resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" 726 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 727 | dependencies: 728 | locate-path "^5.0.0" 729 | path-exists "^4.0.0" 730 | 731 | flat-cache@^3.0.4: 732 | version "3.0.4" 733 | resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" 734 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 735 | dependencies: 736 | flatted "^3.1.0" 737 | rimraf "^3.0.2" 738 | 739 | flatted@^3.1.0: 740 | version "3.2.2" 741 | resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz" 742 | integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== 743 | 744 | fs-constants@^1.0.0: 745 | version "1.0.0" 746 | resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" 747 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== 748 | 749 | fs.realpath@^1.0.0: 750 | version "1.0.0" 751 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 752 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 753 | 754 | functional-red-black-tree@^1.0.1: 755 | version "1.0.1" 756 | resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" 757 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 758 | 759 | get-stdin@^6.0.0: 760 | version "6.0.0" 761 | resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" 762 | integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== 763 | 764 | get-stream@^5.1.0: 765 | version "5.2.0" 766 | resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" 767 | integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== 768 | dependencies: 769 | pump "^3.0.0" 770 | 771 | glob-parent@^5.1.2: 772 | version "5.1.2" 773 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 774 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 775 | dependencies: 776 | is-glob "^4.0.1" 777 | 778 | glob-parent@^6.0.1: 779 | version "6.0.2" 780 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" 781 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 782 | dependencies: 783 | is-glob "^4.0.3" 784 | 785 | glob@^7.1.3: 786 | version "7.2.0" 787 | resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" 788 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 789 | dependencies: 790 | fs.realpath "^1.0.0" 791 | inflight "^1.0.4" 792 | inherits "2" 793 | minimatch "^3.0.4" 794 | once "^1.3.0" 795 | path-is-absolute "^1.0.0" 796 | 797 | globals@^13.6.0, globals@^13.9.0: 798 | version "13.11.0" 799 | resolved "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" 800 | integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== 801 | dependencies: 802 | type-fest "^0.20.2" 803 | 804 | globby@^11.0.3: 805 | version "11.0.4" 806 | resolved "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz" 807 | integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== 808 | dependencies: 809 | array-union "^2.1.0" 810 | dir-glob "^3.0.1" 811 | fast-glob "^3.1.1" 812 | ignore "^5.1.4" 813 | merge2 "^1.3.0" 814 | slash "^3.0.0" 815 | 816 | has-flag@^3.0.0: 817 | version "3.0.0" 818 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 819 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 820 | 821 | has-flag@^4.0.0: 822 | version "4.0.0" 823 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 824 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 825 | 826 | https-proxy-agent@^2.2.1: 827 | version "2.2.4" 828 | resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz" 829 | integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== 830 | dependencies: 831 | agent-base "^4.3.0" 832 | debug "^3.1.0" 833 | 834 | https-proxy-agent@^4.0.0: 835 | version "4.0.0" 836 | resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz" 837 | integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== 838 | dependencies: 839 | agent-base "5" 840 | debug "4" 841 | 842 | ieee754@^1.1.13: 843 | version "1.2.1" 844 | resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" 845 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 846 | 847 | ignore@^4.0.6: 848 | version "4.0.6" 849 | resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" 850 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 851 | 852 | ignore@^5.1.4, ignore@^5.1.8: 853 | version "5.1.8" 854 | resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" 855 | integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== 856 | 857 | import-fresh@^3.0.0, import-fresh@^3.2.1: 858 | version "3.3.0" 859 | resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" 860 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 861 | dependencies: 862 | parent-module "^1.0.0" 863 | resolve-from "^4.0.0" 864 | 865 | imurmurhash@^0.1.4: 866 | version "0.1.4" 867 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 868 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 869 | 870 | inflight@^1.0.4: 871 | version "1.0.6" 872 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 873 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 874 | dependencies: 875 | once "^1.3.0" 876 | wrappy "1" 877 | 878 | inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: 879 | version "2.0.4" 880 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 881 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 882 | 883 | is-extglob@^2.1.1: 884 | version "2.1.1" 885 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 886 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 887 | 888 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 889 | version "4.0.3" 890 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 891 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 892 | dependencies: 893 | is-extglob "^2.1.1" 894 | 895 | is-number@^7.0.0: 896 | version "7.0.0" 897 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 898 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 899 | 900 | isarray@~1.0.0: 901 | version "1.0.0" 902 | resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" 903 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 904 | 905 | isexe@^2.0.0: 906 | version "2.0.0" 907 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 908 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 909 | 910 | isomorphic-fetch@^3.0.0: 911 | version "3.0.0" 912 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" 913 | integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== 914 | dependencies: 915 | node-fetch "^2.6.1" 916 | whatwg-fetch "^3.4.1" 917 | 918 | js-yaml@^3.13.1: 919 | version "3.14.1" 920 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" 921 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 922 | dependencies: 923 | argparse "^1.0.7" 924 | esprima "^4.0.0" 925 | 926 | js-yaml@^4.1.0: 927 | version "4.1.0" 928 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" 929 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 930 | dependencies: 931 | argparse "^2.0.1" 932 | 933 | json-schema-traverse@^0.4.1: 934 | version "0.4.1" 935 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 936 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 937 | 938 | json-stable-stringify-without-jsonify@^1.0.1: 939 | version "1.0.1" 940 | resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" 941 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 942 | 943 | lambdafs@^2.0.0: 944 | version "2.0.3" 945 | resolved "https://registry.npmjs.org/lambdafs/-/lambdafs-2.0.3.tgz" 946 | integrity sha512-5YWwZA/QKk09GdfcJ/ABVO+bpFoGlnTBa5jmyM8Kt9yIzl2lDDVBPLK+Aenq2UEcuDpqxXIYI5zLB7VZNepTrg== 947 | dependencies: 948 | tar-fs "^2.1.1" 949 | 950 | levn@^0.4.1: 951 | version "0.4.1" 952 | resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" 953 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 954 | dependencies: 955 | prelude-ls "^1.2.1" 956 | type-check "~0.4.0" 957 | 958 | locate-path@^5.0.0: 959 | version "5.0.0" 960 | resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" 961 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 962 | dependencies: 963 | p-locate "^4.1.0" 964 | 965 | lodash.merge@^4.6.2: 966 | version "4.6.2" 967 | resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" 968 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 969 | 970 | lodash.omit@^4.5.0: 971 | version "4.5.0" 972 | resolved "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz" 973 | integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= 974 | 975 | lodash.pick@^4.4.0: 976 | version "4.4.0" 977 | resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" 978 | integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= 979 | 980 | lru-cache@^6.0.0: 981 | version "6.0.0" 982 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 983 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 984 | dependencies: 985 | yallist "^4.0.0" 986 | 987 | make-error@^1.1.1: 988 | version "1.3.6" 989 | resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" 990 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 991 | 992 | merge2@^1.3.0: 993 | version "1.4.1" 994 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 995 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 996 | 997 | micromatch@^4.0.4: 998 | version "4.0.4" 999 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" 1000 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 1001 | dependencies: 1002 | braces "^3.0.1" 1003 | picomatch "^2.2.3" 1004 | 1005 | mime@^2.0.3: 1006 | version "2.5.2" 1007 | resolved "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" 1008 | integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== 1009 | 1010 | minimatch@^3.0.4: 1011 | version "3.0.4" 1012 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" 1013 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1014 | dependencies: 1015 | brace-expansion "^1.1.7" 1016 | 1017 | minimist@^1.2.5: 1018 | version "1.2.5" 1019 | resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" 1020 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1021 | 1022 | mkdirp-classic@^0.5.2: 1023 | version "0.5.3" 1024 | resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" 1025 | integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== 1026 | 1027 | mkdirp@^0.5.4: 1028 | version "0.5.5" 1029 | resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" 1030 | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== 1031 | dependencies: 1032 | minimist "^1.2.5" 1033 | 1034 | ms@2.0.0: 1035 | version "2.0.0" 1036 | resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" 1037 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1038 | 1039 | ms@2.1.2, ms@^2.1.1: 1040 | version "2.1.2" 1041 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 1042 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1043 | 1044 | natural-compare@^1.4.0: 1045 | version "1.4.0" 1046 | resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" 1047 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1048 | 1049 | node-fetch@^2.6.1: 1050 | version "2.6.1" 1051 | resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" 1052 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== 1053 | 1054 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 1055 | version "1.4.0" 1056 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 1057 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1058 | dependencies: 1059 | wrappy "1" 1060 | 1061 | optionator@^0.9.1: 1062 | version "0.9.1" 1063 | resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" 1064 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1065 | dependencies: 1066 | deep-is "^0.1.3" 1067 | fast-levenshtein "^2.0.6" 1068 | levn "^0.4.1" 1069 | prelude-ls "^1.2.1" 1070 | type-check "^0.4.0" 1071 | word-wrap "^1.2.3" 1072 | 1073 | os-tmpdir@~1.0.2: 1074 | version "1.0.2" 1075 | resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" 1076 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 1077 | 1078 | p-limit@^2.2.0: 1079 | version "2.3.0" 1080 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" 1081 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1082 | dependencies: 1083 | p-try "^2.0.0" 1084 | 1085 | p-locate@^4.1.0: 1086 | version "4.1.0" 1087 | resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" 1088 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1089 | dependencies: 1090 | p-limit "^2.2.0" 1091 | 1092 | p-try@^2.0.0: 1093 | version "2.2.0" 1094 | resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" 1095 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1096 | 1097 | parent-module@^1.0.0: 1098 | version "1.0.1" 1099 | resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" 1100 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1101 | dependencies: 1102 | callsites "^3.0.0" 1103 | 1104 | path-exists@^4.0.0: 1105 | version "4.0.0" 1106 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" 1107 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1108 | 1109 | path-is-absolute@^1.0.0: 1110 | version "1.0.1" 1111 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 1112 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1113 | 1114 | path-key@^3.1.0: 1115 | version "3.1.1" 1116 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 1117 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1118 | 1119 | path-type@^4.0.0: 1120 | version "4.0.0" 1121 | resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" 1122 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1123 | 1124 | pend@~1.2.0: 1125 | version "1.2.0" 1126 | resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" 1127 | integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= 1128 | 1129 | picomatch@^2.2.3: 1130 | version "2.3.0" 1131 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" 1132 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 1133 | 1134 | pkg-dir@^4.2.0: 1135 | version "4.2.0" 1136 | resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" 1137 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 1138 | dependencies: 1139 | find-up "^4.0.0" 1140 | 1141 | pollock@^0.2.0: 1142 | version "0.2.1" 1143 | resolved "https://registry.npmjs.org/pollock/-/pollock-0.2.1.tgz" 1144 | integrity sha512-2Xy6LImSXm0ANKv9BKSVuCa6Z4ACbK7oUrl9gtUgqLkekL7n9C0mlWsOGYYuGbCG8xT0x3Q4F31C3ZMyVQjwsg== 1145 | 1146 | prelude-ls@^1.2.1: 1147 | version "1.2.1" 1148 | resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" 1149 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1150 | 1151 | prettier-linter-helpers@^1.0.0: 1152 | version "1.0.0" 1153 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" 1154 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 1155 | dependencies: 1156 | fast-diff "^1.1.2" 1157 | 1158 | prettier@^2.4.1: 1159 | version "2.4.1" 1160 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" 1161 | integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== 1162 | 1163 | process-nextick-args@~2.0.0: 1164 | version "2.0.1" 1165 | resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" 1166 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1167 | 1168 | progress@^2.0.0, progress@^2.0.1: 1169 | version "2.0.3" 1170 | resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" 1171 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 1172 | 1173 | proxy-from-env@^1.0.0: 1174 | version "1.1.0" 1175 | resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" 1176 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== 1177 | 1178 | pump@^3.0.0: 1179 | version "3.0.0" 1180 | resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" 1181 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 1182 | dependencies: 1183 | end-of-stream "^1.1.0" 1184 | once "^1.3.1" 1185 | 1186 | punycode@^2.1.0: 1187 | version "2.1.1" 1188 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" 1189 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1190 | 1191 | puppeteer-core@^5.5.0: 1192 | version "5.5.0" 1193 | resolved "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-5.5.0.tgz" 1194 | integrity sha512-tlA+1n+ziW/Db03hVV+bAecDKse8ihFRXYiEypBe9IlLRvOCzYFG6qrCMBYK34HO/Q/Ecjc+tvkHRAfLVH+NgQ== 1195 | dependencies: 1196 | debug "^4.1.0" 1197 | devtools-protocol "0.0.818844" 1198 | extract-zip "^2.0.0" 1199 | https-proxy-agent "^4.0.0" 1200 | node-fetch "^2.6.1" 1201 | pkg-dir "^4.2.0" 1202 | progress "^2.0.1" 1203 | proxy-from-env "^1.0.0" 1204 | rimraf "^3.0.2" 1205 | tar-fs "^2.0.0" 1206 | unbzip2-stream "^1.3.3" 1207 | ws "^7.2.3" 1208 | 1209 | puppeteer@^1.10.0: 1210 | version "1.20.0" 1211 | resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz" 1212 | integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ== 1213 | dependencies: 1214 | debug "^4.1.0" 1215 | extract-zip "^1.6.6" 1216 | https-proxy-agent "^2.2.1" 1217 | mime "^2.0.3" 1218 | progress "^2.0.1" 1219 | proxy-from-env "^1.0.0" 1220 | rimraf "^2.6.1" 1221 | ws "^6.1.0" 1222 | 1223 | queue-microtask@^1.2.2: 1224 | version "1.2.3" 1225 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 1226 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1227 | 1228 | readable-stream@^2.2.2: 1229 | version "2.3.7" 1230 | resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" 1231 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 1232 | dependencies: 1233 | core-util-is "~1.0.0" 1234 | inherits "~2.0.3" 1235 | isarray "~1.0.0" 1236 | process-nextick-args "~2.0.0" 1237 | safe-buffer "~5.1.1" 1238 | string_decoder "~1.1.1" 1239 | util-deprecate "~1.0.1" 1240 | 1241 | readable-stream@^3.1.1, readable-stream@^3.4.0: 1242 | version "3.6.0" 1243 | resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" 1244 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 1245 | dependencies: 1246 | inherits "^2.0.3" 1247 | string_decoder "^1.1.1" 1248 | util-deprecate "^1.0.1" 1249 | 1250 | regexpp@^3.1.0, regexpp@^3.2.0: 1251 | version "3.2.0" 1252 | resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" 1253 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 1254 | 1255 | resolve-from@^4.0.0: 1256 | version "4.0.0" 1257 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" 1258 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1259 | 1260 | reusify@^1.0.4: 1261 | version "1.0.4" 1262 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 1263 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1264 | 1265 | rimraf@^2.6.1: 1266 | version "2.7.1" 1267 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" 1268 | integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== 1269 | dependencies: 1270 | glob "^7.1.3" 1271 | 1272 | rimraf@^3.0.2: 1273 | version "3.0.2" 1274 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" 1275 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1276 | dependencies: 1277 | glob "^7.1.3" 1278 | 1279 | run-parallel@^1.1.9: 1280 | version "1.2.0" 1281 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 1282 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1283 | dependencies: 1284 | queue-microtask "^1.2.2" 1285 | 1286 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1287 | version "5.1.2" 1288 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" 1289 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1290 | 1291 | semver@^7.2.1, semver@^7.3.5: 1292 | version "7.3.5" 1293 | resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" 1294 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 1295 | dependencies: 1296 | lru-cache "^6.0.0" 1297 | 1298 | shebang-command@^2.0.0: 1299 | version "2.0.0" 1300 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 1301 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1302 | dependencies: 1303 | shebang-regex "^3.0.0" 1304 | 1305 | shebang-regex@^3.0.0: 1306 | version "3.0.0" 1307 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 1308 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1309 | 1310 | slash@^3.0.0: 1311 | version "3.0.0" 1312 | resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" 1313 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1314 | 1315 | source-map-support@^0.5.17: 1316 | version "0.5.19" 1317 | resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" 1318 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 1319 | dependencies: 1320 | buffer-from "^1.0.0" 1321 | source-map "^0.6.0" 1322 | 1323 | source-map@^0.6.0: 1324 | version "0.6.1" 1325 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" 1326 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1327 | 1328 | sprintf-js@~1.0.2: 1329 | version "1.0.3" 1330 | resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" 1331 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1332 | 1333 | string_decoder@^1.1.1, string_decoder@~1.1.1: 1334 | version "1.1.1" 1335 | resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" 1336 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1337 | dependencies: 1338 | safe-buffer "~5.1.0" 1339 | 1340 | strip-ansi@^6.0.0: 1341 | version "6.0.1" 1342 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 1343 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1344 | dependencies: 1345 | ansi-regex "^5.0.1" 1346 | 1347 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 1348 | version "3.1.1" 1349 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 1350 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1351 | 1352 | supports-color@^5.3.0: 1353 | version "5.5.0" 1354 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 1355 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1356 | dependencies: 1357 | has-flag "^3.0.0" 1358 | 1359 | supports-color@^7.1.0: 1360 | version "7.2.0" 1361 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 1362 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1363 | dependencies: 1364 | has-flag "^4.0.0" 1365 | 1366 | tar-fs@^2.0.0, tar-fs@^2.1.1: 1367 | version "2.1.1" 1368 | resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" 1369 | integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== 1370 | dependencies: 1371 | chownr "^1.1.1" 1372 | mkdirp-classic "^0.5.2" 1373 | pump "^3.0.0" 1374 | tar-stream "^2.1.4" 1375 | 1376 | tar-stream@^2.1.4: 1377 | version "2.2.0" 1378 | resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" 1379 | integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== 1380 | dependencies: 1381 | bl "^4.0.3" 1382 | end-of-stream "^1.4.1" 1383 | fs-constants "^1.0.0" 1384 | inherits "^2.0.3" 1385 | readable-stream "^3.1.1" 1386 | 1387 | text-table@^0.2.0: 1388 | version "0.2.0" 1389 | resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" 1390 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1391 | 1392 | through@^2.3.8: 1393 | version "2.3.8" 1394 | resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" 1395 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1396 | 1397 | tmp@0.0.33: 1398 | version "0.0.33" 1399 | resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" 1400 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 1401 | dependencies: 1402 | os-tmpdir "~1.0.2" 1403 | 1404 | to-regex-range@^5.0.1: 1405 | version "5.0.1" 1406 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 1407 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1408 | dependencies: 1409 | is-number "^7.0.0" 1410 | 1411 | ts-node@8.9.1: 1412 | version "8.9.1" 1413 | resolved "https://registry.npmjs.org/ts-node/-/ts-node-8.9.1.tgz" 1414 | integrity sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ== 1415 | dependencies: 1416 | arg "^4.1.0" 1417 | diff "^4.0.1" 1418 | make-error "^1.1.1" 1419 | source-map-support "^0.5.17" 1420 | yn "3.1.1" 1421 | 1422 | tslib@^1.8.1: 1423 | version "1.14.1" 1424 | resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" 1425 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1426 | 1427 | tsutils@^3.21.0: 1428 | version "3.21.0" 1429 | resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" 1430 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 1431 | dependencies: 1432 | tslib "^1.8.1" 1433 | 1434 | type-check@^0.4.0, type-check@~0.4.0: 1435 | version "0.4.0" 1436 | resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" 1437 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 1438 | dependencies: 1439 | prelude-ls "^1.2.1" 1440 | 1441 | type-fest@^0.20.2: 1442 | version "0.20.2" 1443 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" 1444 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 1445 | 1446 | typedarray@^0.0.6: 1447 | version "0.0.6" 1448 | resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" 1449 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 1450 | 1451 | typescript@3.9.3: 1452 | version "3.9.3" 1453 | resolved "https://registry.npmjs.org/typescript/-/typescript-3.9.3.tgz" 1454 | integrity sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ== 1455 | 1456 | unbzip2-stream@^1.3.3: 1457 | version "1.4.3" 1458 | resolved "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz" 1459 | integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== 1460 | dependencies: 1461 | buffer "^5.2.1" 1462 | through "^2.3.8" 1463 | 1464 | uri-js@^4.2.2: 1465 | version "4.4.1" 1466 | resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" 1467 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1468 | dependencies: 1469 | punycode "^2.1.0" 1470 | 1471 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 1472 | version "1.0.2" 1473 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 1474 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1475 | 1476 | v8-compile-cache@^2.0.3: 1477 | version "2.3.0" 1478 | resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" 1479 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 1480 | 1481 | whatwg-fetch@^3.4.1: 1482 | version "3.6.2" 1483 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" 1484 | integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== 1485 | 1486 | which@^2.0.1: 1487 | version "2.0.2" 1488 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 1489 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1490 | dependencies: 1491 | isexe "^2.0.0" 1492 | 1493 | word-wrap@^1.2.3: 1494 | version "1.2.3" 1495 | resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" 1496 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1497 | 1498 | wrappy@1: 1499 | version "1.0.2" 1500 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 1501 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1502 | 1503 | ws@^6.1.0: 1504 | version "6.2.2" 1505 | resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" 1506 | integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== 1507 | dependencies: 1508 | async-limiter "~1.0.0" 1509 | 1510 | ws@^7.2.3: 1511 | version "7.5.5" 1512 | resolved "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz" 1513 | integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== 1514 | 1515 | yallist@^4.0.0: 1516 | version "4.0.0" 1517 | resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 1518 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1519 | 1520 | yauzl@^2.10.0: 1521 | version "2.10.0" 1522 | resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" 1523 | integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= 1524 | dependencies: 1525 | buffer-crc32 "~0.2.3" 1526 | fd-slicer "~1.1.0" 1527 | 1528 | yn@3.1.1: 1529 | version "3.1.1" 1530 | resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" 1531 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 1532 | --------------------------------------------------------------------------------