From ae9a0bfa501a445a9c23bb40ab54abe8e59a7afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adem=C3=ADlson=20F=2E=20Tonato?= Date: Sat, 27 Feb 2021 12:46:19 +0000 Subject: [PATCH] chore: add stencil-supabase to example/stencil-supabase --- examples/with-stencil/.editorconfig | 15 + examples/with-stencil/.eslintrc.json | 39 + examples/with-stencil/.gitignore | 201 + examples/with-stencil/.prettierrc.json | 13 + examples/with-stencil/LICENSE | 21 + examples/with-stencil/README.md | 78 + examples/with-stencil/STRUCTURE.md | 51 + examples/with-stencil/login-page.png | Bin 0 -> 145494 bytes examples/with-stencil/package-lock.json | 7592 +++++++++++++++++ examples/with-stencil/package.json | 43 + .../src/assets/images/supabase.png | Bin 0 -> 57650 bytes .../src/assets/scss/_definitions.scss | 64 + .../src/assets/scss/helpers/_reset.scss | 7 + .../src/assets/scss/helpers/_variables.scss | 12 + examples/with-stencil/src/components.d.ts | 151 + .../app-flash-message.e2e.ts | 11 + .../app-flash-message/app-flash-message.scss | 27 + .../app-flash-message/app-flash-message.tsx | 92 + .../src/components/app-home/app-home.e2e.ts | 11 + .../src/components/app-home/app-home.scss | 30 + .../src/components/app-home/app-home.tsx | 62 + .../src/components/app-root/app-root.e2e.ts | 10 + .../src/components/app-root/app-root.scss | 28 + .../src/components/app-root/app-root.tsx | 111 + .../auth/login/app-auth-login.e2e.ts | 11 + .../components/auth/login/app-auth-login.tsx | 235 + .../auth/register/app-auth-register.e2e.ts | 11 + .../auth/register/app-auth-register.tsx | 169 + .../auth/shared/app-auth-shared.scss | 169 + .../page/home/app-page-home.e2e.tsx | 11 + .../components/page/home/app-page-home.scss | 37 + .../components/page/home/app-page-home.tsx | 23 + examples/with-stencil/src/config/config.ts | 31 + examples/with-stencil/src/global/app.scss | 1 + examples/with-stencil/src/global/app.ts | 7 + examples/with-stencil/src/index.html | 45 + examples/with-stencil/src/index.ts | 2 + .../with-stencil/src/interface/interface.ts | 29 + examples/with-stencil/src/manifest.json | 13 + .../with-stencil/src/services/auth.service.ts | 189 + .../src/services/supabase.service.ts | 32 + examples/with-stencil/src/store/app.store.ts | 28 + examples/with-stencil/src/util/util.ts | 46 + examples/with-stencil/stencil.config.ts | 24 + examples/with-stencil/tsconfig.json | 25 + 45 files changed, 9807 insertions(+) create mode 100644 examples/with-stencil/.editorconfig create mode 100644 examples/with-stencil/.eslintrc.json create mode 100644 examples/with-stencil/.gitignore create mode 100644 examples/with-stencil/.prettierrc.json create mode 100644 examples/with-stencil/LICENSE create mode 100644 examples/with-stencil/README.md create mode 100644 examples/with-stencil/STRUCTURE.md create mode 100644 examples/with-stencil/login-page.png create mode 100644 examples/with-stencil/package-lock.json create mode 100644 examples/with-stencil/package.json create mode 100644 examples/with-stencil/src/assets/images/supabase.png create mode 100644 examples/with-stencil/src/assets/scss/_definitions.scss create mode 100644 examples/with-stencil/src/assets/scss/helpers/_reset.scss create mode 100644 examples/with-stencil/src/assets/scss/helpers/_variables.scss create mode 100644 examples/with-stencil/src/components.d.ts create mode 100644 examples/with-stencil/src/components/app-flash-message/app-flash-message.e2e.ts create mode 100644 examples/with-stencil/src/components/app-flash-message/app-flash-message.scss create mode 100644 examples/with-stencil/src/components/app-flash-message/app-flash-message.tsx create mode 100644 examples/with-stencil/src/components/app-home/app-home.e2e.ts create mode 100644 examples/with-stencil/src/components/app-home/app-home.scss create mode 100644 examples/with-stencil/src/components/app-home/app-home.tsx create mode 100644 examples/with-stencil/src/components/app-root/app-root.e2e.ts create mode 100644 examples/with-stencil/src/components/app-root/app-root.scss create mode 100644 examples/with-stencil/src/components/app-root/app-root.tsx create mode 100644 examples/with-stencil/src/components/auth/login/app-auth-login.e2e.ts create mode 100644 examples/with-stencil/src/components/auth/login/app-auth-login.tsx create mode 100644 examples/with-stencil/src/components/auth/register/app-auth-register.e2e.ts create mode 100644 examples/with-stencil/src/components/auth/register/app-auth-register.tsx create mode 100644 examples/with-stencil/src/components/auth/shared/app-auth-shared.scss create mode 100644 examples/with-stencil/src/components/page/home/app-page-home.e2e.tsx create mode 100644 examples/with-stencil/src/components/page/home/app-page-home.scss create mode 100644 examples/with-stencil/src/components/page/home/app-page-home.tsx create mode 100644 examples/with-stencil/src/config/config.ts create mode 100644 examples/with-stencil/src/global/app.scss create mode 100644 examples/with-stencil/src/global/app.ts create mode 100644 examples/with-stencil/src/index.html create mode 100644 examples/with-stencil/src/index.ts create mode 100644 examples/with-stencil/src/interface/interface.ts create mode 100644 examples/with-stencil/src/manifest.json create mode 100644 examples/with-stencil/src/services/auth.service.ts create mode 100644 examples/with-stencil/src/services/supabase.service.ts create mode 100644 examples/with-stencil/src/store/app.store.ts create mode 100644 examples/with-stencil/src/util/util.ts create mode 100644 examples/with-stencil/stencil.config.ts create mode 100644 examples/with-stencil/tsconfig.json diff --git a/examples/with-stencil/.editorconfig b/examples/with-stencil/.editorconfig new file mode 100644 index 00000000000..f1cc3ad329c --- /dev/null +++ b/examples/with-stencil/.editorconfig @@ -0,0 +1,15 @@ +# http://editorconfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/examples/with-stencil/.eslintrc.json b/examples/with-stencil/.eslintrc.json new file mode 100644 index 00000000000..bea7f5364f3 --- /dev/null +++ b/examples/with-stencil/.eslintrc.json @@ -0,0 +1,39 @@ +{ + "parserOptions": { + "project": "./tsconfig.json" + }, + "extends": [ + "plugin:@stencil/recommended" + ], + "rules": { + "@stencil/async-methods": "error", + "@stencil/ban-prefix": ["error", ["stencil", "stnl", "st"]], + "@stencil/decorators-context": "error", + "@stencil/decorators-style": [ + "error", + { + "prop": "inline", + "state": "inline", + "element": "inline", + "event": "inline", + "method": "multiline", + "watch": "multiline", + "listen": "multiline" + } + ], + "@stencil/element-type": "error", + "@stencil/host-data-deprecated": "error", + "@stencil/methods-must-be-public": "error", + "@stencil/no-unused-watch": "error", + "@stencil/own-methods-must-be-private": "off", + "@stencil/own-props-must-be-private": "off", + "@stencil/props-must-be-public": "off", + "@stencil/props-must-be-readonly": "off", + "@stencil/render-returns-host": "error", + "@stencil/reserved-member-names": "error", + "@stencil/single-export": "error", + "@stencil/strict-boolean-conditions": "off", + "@stencil/strict-mutable": "off", + "react/jsx-no-bind": "off" + } +} diff --git a/examples/with-stencil/.gitignore b/examples/with-stencil/.gitignore new file mode 100644 index 00000000000..aee4d122b95 --- /dev/null +++ b/examples/with-stencil/.gitignore @@ -0,0 +1,201 @@ +# Created by https://www.toptal.com/developers/gitignore/api/macos,windows,linux,code,vscode,node +# Edit at https://www.toptal.com/developers/gitignore?templates=macos,windows,linux,code,vscode,node + +### Code ### +.vscode/* +!.vscode/tasks.json +!.vscode/launch.json +*.code-workspace + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test +.env*.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next + +# Nuxt.js build / generate output +.nuxt +dist +dist/ +!www/favicon.ico +www/ + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +### vscode ### +!.vscode/settings.json +!.vscode/extensions.json + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# End of https://www.toptal.com/developers/gitignore/api/macos,windows,linux,code,vscode,node diff --git a/examples/with-stencil/.prettierrc.json b/examples/with-stencil/.prettierrc.json new file mode 100644 index 00000000000..7ca3a28a9ce --- /dev/null +++ b/examples/with-stencil/.prettierrc.json @@ -0,0 +1,13 @@ +{ + "arrowParens": "avoid", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "quoteProps": "consistent", + "printWidth": 180, + "semi": true, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "all", + "useTabs": false +} diff --git a/examples/with-stencil/LICENSE b/examples/with-stencil/LICENSE new file mode 100644 index 00000000000..1637db26739 --- /dev/null +++ b/examples/with-stencil/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/examples/with-stencil/README.md b/examples/with-stencil/README.md new file mode 100644 index 00000000000..bb3c37f75d0 --- /dev/null +++ b/examples/with-stencil/README.md @@ -0,0 +1,78 @@ +# Stencil & Supabase Starter + +This is a boilerplate for creating a WebApp using [Stencil](https://github.com/ionic-team/stencil) + [Supabase](https://supabase.io/) + [Stencil Store](https://stenciljs.com/docs/stencil-store). + +Login Page + +## Features ๐Ÿ“‹ + +- Supabase setup +- Stencil Store setup +- Login / Register / Logout functionality (Basic one) +- Protecting routes (router-guard) that are accessed after login + +## Getting Started ๐Ÿš€ + +To start using this boilerplate, clone this repo to a new directory: + +```sh +git clone https://github.com/ftonato/stencil-supabase.git +``` + +and run: + +```sh +npm install +``` + +## Usage ๐ŸšŠ + +Setup Supabase configuration + +Please setup _Supabase_ configuration in the file + +``` +src -> config -> config.ts +``` + +```js +const supabaseConfig = { + supabaseUrl: '', + supabaseKey: '' +}; +``` + +You can find more about _Supabase Client_ config [on the official documentation page](https://supabase.io/docs/client/initializing). + +To start a project, run: +```sh +npm run start +``` + +To build the app for production, run: + +```sh +npm run build +``` + +To run the unit tests once, run: + +```sh +npm run test +``` + +To run the unit tests and watch for file changes during development, run: + +```sh +npm run test.watch +``` + +## Project structure ๐Ÿ—„๏ธ + +You can check the details of the [structure of our project through this file](./STRUCTURE.md) + +## Contributing ๐Ÿ‘ +- [Pull requests](https://github.com/ftonato/stencil-supabase/pulls) and ๐ŸŒŸ stars are always welcome. + +## License +[MIT ©](LICENSE) diff --git a/examples/with-stencil/STRUCTURE.md b/examples/with-stencil/STRUCTURE.md new file mode 100644 index 00000000000..fd06b4edbb7 --- /dev/null +++ b/examples/with-stencil/STRUCTURE.md @@ -0,0 +1,51 @@ +## Project structure ๐Ÿ—„๏ธ + +### Service +This class will handle application authenticate features to supabase. + +``` +src -> services -> auth.service.ts -> Class SupabaseAuthService +``` +You can create more classes to group a functionality. + +### Store +Application store +``` +src -> store -> app.store.ts +``` + +### Interfaces +Interfaces used in the application +``` +src -> interface -> interface.ts +``` +### Utility +Utility for parsing application messages and holding form configurations +``` +src -> util -> util.ts +``` +### Configuration +Application level configurations +``` +src -> config -> config.ts +``` +### Assets +Application level assets +``` +src -> assets +``` +### Components +Application level components + +``` +src -> components -> +1. for showing alert messages +2. Dashboard +3. entry component of the application +5. for showing pages +6. -> having login/register components +``` + +### Styling ๐Ÿ’€ + +I have used `scss` for styling components. Ths boilerplate have a basic design i.e it focus more on configuring and using supabase in stencil web app along with stencil store. You can customize the looks as per your needs. \ No newline at end of file diff --git a/examples/with-stencil/login-page.png b/examples/with-stencil/login-page.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba9edccfcff94abf76809c8d6977842174f735c GIT binary patch literal 145494 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 literal 0 HcmV?d00001 diff --git a/examples/with-stencil/package-lock.json b/examples/with-stencil/package-lock.json new file mode 100644 index 00000000000..80922c18cef --- /dev/null +++ b/examples/with-stencil/package-lock.json @@ -0,0 +1,7592 @@ +{ + "name": "stencil-supabase-starter", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/core": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.13.tgz", + "integrity": "sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/generator": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz", + "integrity": "sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "dev": true, + "requires": { + "@babel/types": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", + "dev": true, + "requires": { + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/traverse": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/types": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + } + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/commons": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.2.tgz", + "integrity": "sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@stencil/core": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-1.17.3.tgz", + "integrity": "sha512-q5joOYUPHTNa/5hEThMT/QEJ/suN8bpcYbV/LrSNsgsgHN+RJ05jCpU8VAShdUPT6WzoyF2iGgYc/EI2xeqFzw==", + "dev": true, + "requires": { + "typescript": "3.9.7" + } + }, + "@stencil/eslint-plugin": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@stencil/eslint-plugin/-/eslint-plugin-0.3.1.tgz", + "integrity": "sha512-IcRseG06bdE36j28p7baLhLJapfGcYJG6p0aJhVWgh7TRcBNCReZEv6EGgYN6VX8j2LuH7LeFPXWHdA8ZZQylw==", + "dev": true, + "requires": { + "eslint-utils": "^2.0.0", + "tsutils": "^3.0.0" + } + }, + "@stencil/router": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stencil/router/-/router-1.0.1.tgz", + "integrity": "sha512-ZMholl1BE+glNAc/8pcEb9RYkeH0XETxsJbx6D7f3azTmaTXqKYty1IACP/3BtVjuimpfLdxQJ+J95wKmnYBtA==", + "dev": true, + "requires": { + "@stencil/state-tunnel": "^1.0.1" + } + }, + "@stencil/sass": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-1.3.2.tgz", + "integrity": "sha512-w6rkOsRIPY1rBa/13Wf+rMZrOzc6z86/Mkp3inzaYGsxBmLkf4PeP1rfaUB4SFDVRfMduP7FTd4ZJi/+FVrsMw==", + "dev": true + }, + "@stencil/state-tunnel": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stencil/state-tunnel/-/state-tunnel-1.0.1.tgz", + "integrity": "sha512-DYG8uROgL9hkjVTCtCfRBb0d3FwpiFB0muRrNZQ2X1Qo5hxMuNNji76/ILddqeq0AfgkKCW82xrMPDpy+rNIhQ==", + "dev": true + }, + "@stencil/store": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@stencil/store/-/store-1.3.0.tgz", + "integrity": "sha512-e1/Ru/q8P5BkqUYMF+kW54rFWyH9XRABLcxFLruUlbw+ZIGN5OwKe6Rf1vw1wQSa/6vMy0EQq5IrkRYNhENpOA==", + "dev": true + }, + "@supabase/gotrue-js": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-1.10.5.tgz", + "integrity": "sha512-k1e4KgldneJmpIUJiUP+vSS4bByVpCQ9ZGpz2cn2U38C9N2RSP1z0O2i3D4RFVXEdc0oEvEFYm0PKV17RgUygQ==", + "requires": { + "cross-fetch": "^3.0.6" + } + }, + "@supabase/postgrest-js": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.24.1.tgz", + "integrity": "sha512-uvS0v1zqVc3Y5GqnR3B2GBY1c4REdpcS/kiiOJJou3me6nuZptqV/8tUPhSOAWWt8S5XpOI9OK+aAozBdC7c5w==", + "requires": { + "cross-fetch": "^3.0.6" + } + }, + "@supabase/realtime-js": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-1.0.6.tgz", + "integrity": "sha512-qzYYBzXteYsqQYlLzoYwee2OloWn3w8YzUFbDYFUPdkUwLs01OIqsm+lRCzKDivmyn2G0FJQjloWcF4BF5TyBg==", + "requires": { + "@types/websocket": "^1.0.1", + "query-string": "^6.12.1", + "websocket": "^1.0.31" + } + }, + "@supabase/supabase-js": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-1.3.3.tgz", + "integrity": "sha512-rp37myYXWTiliF/2Cf8DdTuULBRVbSUE2CyDnLesaxbvpvBdfRsMMbWpgsLZHdz3HyK1UbGr9m39kijrAt2P+Q==", + "requires": { + "@supabase/gotrue-js": "^1.10.4", + "@supabase/postgrest-js": "^0.24.1", + "@supabase/realtime-js": "^1.0.6" + } + }, + "@types/babel__core": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", + "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.0.tgz", + "integrity": "sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "@types/graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "26.0.20", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", + "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", + "dev": true, + "requires": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "dev": true + }, + "@types/node": { + "version": "12.12.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.54.tgz", + "integrity": "sha512-ge4xZ3vSBornVYlDnk7yZ0gK6ChHf/CHB7Gl1I0Jhah8DDnEQqBzgohYG4FX4p81TNirSETOiSyn+y1r9/IR6w==" + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/prettier": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.2.0.tgz", + "integrity": "sha512-O3SQC6+6AySHwrspYn2UvC6tjo6jCTMMmylxZUFhE1CulVu5l3AxU6ca9lrJDTQDVllF62LIxVSx5fuYL6LiZg==", + "dev": true + }, + "@types/puppeteer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-2.0.1.tgz", + "integrity": "sha512-G8vEyU83Bios+dzs+DZGpAirDmMqRhfFBJCkFrg+A5+6n5EPPHxwBLImJto3qjh0mrBXbLBCyuahhhtTrAfR5g==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "@types/websocket": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.1.tgz", + "integrity": "sha512-f5WLMpezwVxCLm1xQe/kdPpQIOmL0TXYx2O15VYfYzc7hTIdxiOoOvez+McSIw3b7z/1zGovew9YSL7+h4h7/Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", + "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz", + "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "3.10.1", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", + "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz", + "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==", + "dev": true, + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "3.10.1", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/types": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", + "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", + "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/visitor-keys": "3.10.1", + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", + "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "acorn": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ajv": { + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.flatmap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", + "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bl": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", + "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "bufferutil": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz", + "integrity": "sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==", + "requires": { + "node-gyp-build": "^4.2.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-fetch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", + "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", + "requires": { + "node-fetch": "2.6.1" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "devtools-protocol": { + "version": "0.0.781568", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.781568.tgz", + "integrity": "sha512-9Uqnzy6m6zEStluH9iyJ3iHyaQziFnMnLeC8vK0eN6smiJmIx7+yB64d67C2lH/LZra+5cGscJAJsNXO+MdPMg==" + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.7.0.tgz", + "integrity": "sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^1.3.0", + "espree": "^7.2.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + } + } + }, + "eslint-plugin-react": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.20.6.tgz", + "integrity": "sha512-kidMTE5HAEBSLu23CUDvj8dc3LdBU0ri1scwHBZjI41oDv4tjsWZKU7MQccFzH1QYPYhsnTF2ovh7JlcIcmxgg==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flatmap": "^1.2.3", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.4.1", + "object.entries": "^1.1.2", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.17.0", + "string.prototype.matchall": "^4.0.2" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + } + } + }, + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", + "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + } + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", + "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "graceful-fs": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.5.tgz", + "integrity": "sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true, + "optional": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "dev": true, + "requires": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + } + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "optional": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.0.1.tgz", + "integrity": "sha512-29Q54kn5Bm7ZGKIuH2JRmnKl85YRigp0o0asTc6Sb6l2ch1DCXIeZTLLFy9ultJvhkTqbswF5DEx4+RlkmCxWg==", + "dev": true, + "requires": { + "@jest/core": "^26.0.1", + "import-local": "^3.0.2", + "jest-cli": "^26.0.1" + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "jest-cli": { + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.0.1.tgz", + "integrity": "sha512-pFLfSOBcbG9iOZWaMK4Een+tTxi/Wcm34geqZEqrst9cZDkTQ1LZ2CnBrTlHWuYAiTMFr0EQeK52ScyFU8wK+w==", + "dev": true, + "requires": { + "@jest/core": "^26.0.1", + "@jest/test-result": "^26.0.1", + "@jest/types": "^26.0.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.0.1", + "jest-util": "^26.0.1", + "jest-validate": "^26.0.1", + "prompts": "^2.0.1", + "yargs": "^15.3.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + } + } + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + } + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "dev": true, + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + } + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "dev": true, + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + } + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + } + } + }, + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + } + } + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "dev": true, + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "dev": true, + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", + "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "object.assign": "^4.1.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" + }, + "mime-db": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", + "dev": true + }, + "mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "dev": true, + "requires": { + "mime-db": "1.45.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-gyp-build": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", + "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", + "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", + "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true + } + } + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "puppeteer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-5.2.1.tgz", + "integrity": "sha512-PZoZG7u+T6N1GFWBQmGVG162Ak5MAy8nYSVpeeQrwJK2oYUlDWpHEJPcd/zopyuEMTv7DiztS1blgny1txR2qw==", + "requires": { + "debug": "^4.1.0", + "devtools-protocol": "0.0.781568", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^4.0.0", + "mime": "^2.0.3", + "pkg-dir": "^4.2.0", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" + }, + "dependencies": { + "agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==" + }, + "https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "requires": { + "agent-base": "5", + "debug": "4" + } + } + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "6.13.8", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.8.tgz", + "integrity": "sha512-jxJzQI2edQPE/NPUOusNjO/ZOGqr1o2OBa/3M00fU76FsLXDVbJDv/p7ng5OdQyorKrkRz1oqfwmbe5MAMePQg==", + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "side-channel": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", + "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", + "dev": true, + "requires": { + "es-abstract": "^1.18.0-next.0", + "object-inspect": "^1.8.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", + "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + }, + "string-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", + "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tar-fs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.0.tgz", + "integrity": "sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, + "tar-stream": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.3.tgz", + "integrity": "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==", + "requires": { + "bl": "^4.0.1", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", + "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", + "dev": true + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "utf-8-validate": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz", + "integrity": "sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==", + "requires": { + "node-gyp-build": "^4.2.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "optional": true + }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "v8-to-istanbul": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz", + "integrity": "sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "websocket": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.33.tgz", + "integrity": "sha512-XwNqM2rN5eh3G2CUQE3OHZj+0xfdH42+OFK6LdC2yqiC0YU8e5UK0nYre220T0IyyN031V/XOvtHvXozvJYFWA==", + "requires": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", + "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==" + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/examples/with-stencil/package.json b/examples/with-stencil/package.json new file mode 100644 index 00000000000..2f4fda3dac4 --- /dev/null +++ b/examples/with-stencil/package.json @@ -0,0 +1,43 @@ +{ + "name": "stencil-supabase-starter", + "private": false, + "version": "0.0.1", + "description": "Welcome to the Stencil & Supabase starter App. You can use this starter to build entire apps all with web components using Stencil & Supabase", + "scripts": { + "build": "stencil build", + "start": "stencil build --dev --watch --serve", + "test": "stencil test --spec --e2e", + "test.watch": "stencil test --spec --e2e --watchAll", + "generate": "stencil generate", + "lint": "eslint src/**/*{.ts,.tsx}" + }, + "devDependencies": { + "@stencil/core": "^1.17.3", + "@stencil/eslint-plugin": "^0.3.1", + "@stencil/router": "^1.0.1", + "@stencil/sass": "^1.3.2", + "@stencil/store": "^1.3.0", + "@types/jest": "^26.0.20", + "@types/puppeteer": "2.0.1", + "@typescript-eslint/eslint-plugin": "^3.10.1", + "@typescript-eslint/parser": "^3.10.1", + "eslint": "^7.7.0", + "eslint-plugin-react": "^7.20.6", + "jest": "26.0.1", + "jest-cli": "26.0.1" + }, + "license": "MIT", + "author": "Ademรญlson F. Tonato - @ftonato", + "dependencies": { + "@supabase/supabase-js": "^1.3.3", + "puppeteer": "^5.2.1" + }, + "keywords": [ + "web components", + "components", + "stencil", + "supabase", + "supabase stencil", + "stencil store" + ] +} diff --git a/examples/with-stencil/src/assets/images/supabase.png b/examples/with-stencil/src/assets/images/supabase.png new file mode 100644 index 0000000000000000000000000000000000000000..46c49c4093b1b7eb31d91fd9cbce4f9168ed965b GIT binary patch literal 57650 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 + "app-auth-register": LocalJSX.AppAuthRegister & JSXBase.HTMLAttributes; + "app-flash-message": LocalJSX.AppFlashMessage & JSXBase.HTMLAttributes; + "app-home": LocalJSX.AppHome & JSXBase.HTMLAttributes; + "app-page-home": LocalJSX.AppPageHome & JSXBase.HTMLAttributes; + "app-root": LocalJSX.AppRoot & JSXBase.HTMLAttributes; + } + } +} diff --git a/examples/with-stencil/src/components/app-flash-message/app-flash-message.e2e.ts b/examples/with-stencil/src/components/app-flash-message/app-flash-message.e2e.ts new file mode 100644 index 00000000000..44e87668c32 --- /dev/null +++ b/examples/with-stencil/src/components/app-flash-message/app-flash-message.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('app-flash-message', () => { + it('renders', async () => { + const page = await newE2EPage(); + + await page.setContent(''); + const element = await page.find('app-flash-message'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/examples/with-stencil/src/components/app-flash-message/app-flash-message.scss b/examples/with-stencil/src/components/app-flash-message/app-flash-message.scss new file mode 100644 index 00000000000..3b2df3b47a6 --- /dev/null +++ b/examples/with-stencil/src/components/app-flash-message/app-flash-message.scss @@ -0,0 +1,27 @@ +/* The alert message box */ +.app-alert { + background-color: $clr-bg-box-alert; + border: 1px solid $clr-bd-box-alert; + border-radius: 3px; + color: $clr-text-alert; + margin-bottom: 6px; + margin-top: 6px; + padding: 10px; + text-align: center; + + /* The close button */ + .app-close-btn { + color: $clr-text-alert; + cursor: pointer; + float: right; + font-size: 22px; + font-weight: bold; + line-height: 15px; + margin-left: 15px; + transition: 0.3s; + + &:hover { + color: #000; + } + } +} diff --git a/examples/with-stencil/src/components/app-flash-message/app-flash-message.tsx b/examples/with-stencil/src/components/app-flash-message/app-flash-message.tsx new file mode 100644 index 00000000000..c35d4632cdb --- /dev/null +++ b/examples/with-stencil/src/components/app-flash-message/app-flash-message.tsx @@ -0,0 +1,92 @@ +/** + * Component for showing flash messages. + * + * @component AppFlashMessage + */ + +import { Component, h, Prop, Watch } from '@stencil/core'; + + +@Component({ + tag: 'app-flash-message', + styleUrl: 'app-flash-message.scss' +}) +export class AppFlashMessage { + + /** + * Message type + */ + @Prop() type: string = ''; + + /** + * alert closable. + */ + @Prop() closable: boolean = true; + + /** + * Show/hide alert message + */ + @Prop({ mutable: true, reflect: true }) show = true; + + @Watch('show') + handleShowChange() { + if (this.show === false) { + this.hideMessage(); + } else { + this.showMessage(); + } + } + + /** + * Hide message + * + * @returns {(null | void)} + */ + async hideMessage() { + if (!this.show) { + return null; + } + this.show = false; + } + + /** + * Show message + * + * @returns {(null | void)} + */ + async showMessage() { + if (this.show) { + return null; + } + this.show = true; + } + + componentDidLoad() { + // Show on init if open + if (this.show) { + this.showMessage(); + } + } + + /** + * Render component + * + * @returns {void} + */ + render() { + return ( + + ); + } +} diff --git a/examples/with-stencil/src/components/app-home/app-home.e2e.ts b/examples/with-stencil/src/components/app-home/app-home.e2e.ts new file mode 100644 index 00000000000..c6a6369ab99 --- /dev/null +++ b/examples/with-stencil/src/components/app-home/app-home.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('app-home', () => { + it('renders', async () => { + const page = await newE2EPage(); + await page.setContent(''); + + const element = await page.find('app-home'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/examples/with-stencil/src/components/app-home/app-home.scss b/examples/with-stencil/src/components/app-home/app-home.scss new file mode 100644 index 00000000000..ec83a8f35ea --- /dev/null +++ b/examples/with-stencil/src/components/app-home/app-home.scss @@ -0,0 +1,30 @@ +.home-box { + background-color: $clr-bg-box; + border-radius: 20px; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.025); + display: flex; + height: 60vh; + min-height: 50em; + overflow: hidden; + width: 75em; + + .home-box-subbox { + align-items: center; + display: flex; + display: flex; + flex: 1 1 100%; + flex-direction: column; + + justify-content: center; + justify-content: center; + padding: 4em 6em; + } + + .home-box-container { + .home-box-image { + align-items: center; + display: flex; + justify-content: center; + } + } +} diff --git a/examples/with-stencil/src/components/app-home/app-home.tsx b/examples/with-stencil/src/components/app-home/app-home.tsx new file mode 100644 index 00000000000..30969bb98a5 --- /dev/null +++ b/examples/with-stencil/src/components/app-home/app-home.tsx @@ -0,0 +1,62 @@ +/** + * Component for showing user dashboard after login. + * + * @component AppHome + */ + +import { Component, h } from '@stencil/core'; +import { AppState } from '../../store/app.store'; +import { appConfig } from '../../config/config'; + +@Component({ + tag: 'app-home', + styleUrl: 'app-home.scss', + +}) +export class AppHome { + + /** + * Render component + * + * @returns {void} + */ + render() { + return ( +
+ + +
+
+
+

Welcome to the Stencil & Supabase dashboard

+ +
+ +
+ +

Hi{' '} + + {AppState.user ? AppState.user.email : null} + , +

+ +

Welcome to the {appConfig.name} dashboard. +
+ This app demonstrate Login, Register, Logout features using Supabase + Stencil + Stencil Store as state management tool.

+

+ You can read more about the technologies used here: Stencil{', '} + Stencil Store{', and '} + Supabase.

+
+ +

+ Created by: - . +

+ +
+
+
+
+ ); + } +} diff --git a/examples/with-stencil/src/components/app-root/app-root.e2e.ts b/examples/with-stencil/src/components/app-root/app-root.e2e.ts new file mode 100644 index 00000000000..54fcd0cd4b7 --- /dev/null +++ b/examples/with-stencil/src/components/app-root/app-root.e2e.ts @@ -0,0 +1,10 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('app-root', () => { + it('renders', async () => { + const page = await newE2EPage({ url: '/' }); + + const element = await page.find('app-root'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/examples/with-stencil/src/components/app-root/app-root.scss b/examples/with-stencil/src/components/app-root/app-root.scss new file mode 100644 index 00000000000..51937d8041d --- /dev/null +++ b/examples/with-stencil/src/components/app-root/app-root.scss @@ -0,0 +1,28 @@ +.type-a { + &:hover { + text-decoration: underline; + } +} + +header { + align-items: center; + background-color: $clr-bg-box; + border-radius: 20px; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.025); + display: flex; + height: 75px; + margin-bottom: 2rem; + overflow: hidden; + padding: 1rem; + width: 100%; + + > div { + display: flex; + justify-content: space-between; + width: 100%; + } + + .username { + color: $clr-text-headline; + } +} diff --git a/examples/with-stencil/src/components/app-root/app-root.tsx b/examples/with-stencil/src/components/app-root/app-root.tsx new file mode 100644 index 00000000000..e6f873b12b9 --- /dev/null +++ b/examples/with-stencil/src/components/app-root/app-root.tsx @@ -0,0 +1,111 @@ +/** + * Component for showing application content. + * It is the main entry point of the application + * + * @component AppRoot + */ + +import { Component, h, Prop } from '@stencil/core'; +import { RouterHistory } from '@stencil/router'; +import { AppState } from "../../store/app.store"; +import { AuthService } from "../../services/auth.service"; +import { appConfig } from '../../config/config'; + +/** + * Handle private routes + * Routes that can't be accessed until user logs in + * Functional component + * @param {string} component name + * @param {object} props name + * + * @returns {Object} + */ +const PrivateRoute = ({ component, ...props }: { [key: string]: any }) => { + const Component = component; + + return ( + { + if (AppState.isAuthenticated) { + return ; + } + return + } + } /> + ); +} + +@Component({ + tag: 'app-root', + styleUrl: 'app-root.scss', + +}) +export class AppRoot { + /** + * AuthService instance. + * @name authService + * @type {Object} + */ + private authService = AuthService; + + /** + * history instance. + */ + @Prop() history: RouterHistory; + + /** + * handle logout + * + * @returns {void} + */ + async logout() { + await this.authService.logOut(); + } + + /** + * Render component + * + * @returns {void} + */ + render() { + if (AppState.appInit === true) { + return (
Loading...
); + } + if (AppState.appInitError != '') { + return ({AppState.appInitError}); + } + const titleSuffix = ` | ${appConfig.pageTitlePrefix}` + return ( +
+ { + AppState.isAuthenticated && +
+ { + AppState.user + && ( +
+ + Welcome {' ' + AppState.user.email + ' '} + + this.logout()}> + Logout + +
+ ) + } +
+ } +
+ + + + + + + + +
+
+ ); + } +} diff --git a/examples/with-stencil/src/components/auth/login/app-auth-login.e2e.ts b/examples/with-stencil/src/components/auth/login/app-auth-login.e2e.ts new file mode 100644 index 00000000000..6c023237d05 --- /dev/null +++ b/examples/with-stencil/src/components/auth/login/app-auth-login.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('app-auth-login', () => { + it('renders', async () => { + const page = await newE2EPage(); + await page.setContent(''); + + const element = await page.find('app-auth-login'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/examples/with-stencil/src/components/auth/login/app-auth-login.tsx b/examples/with-stencil/src/components/auth/login/app-auth-login.tsx new file mode 100644 index 00000000000..0d222a4ff04 --- /dev/null +++ b/examples/with-stencil/src/components/auth/login/app-auth-login.tsx @@ -0,0 +1,235 @@ +/** + * Component for showing user login. + * + * @component AppLogin + */ + +import { Component, h, Prop, State } from '@stencil/core'; +import { RouterHistory } from '@stencil/router'; +import { AppState } from "../../../store/app.store"; +import { AuthService } from "../../../services/auth.service"; +import { httpCode, appConfig } from '../../../config/config'; +import { getFormValidations } from '../../../util/util'; + +@Component({ + tag: 'app-auth-login', + styleUrl: '../shared/app-auth-shared.scss', +}) +export class AppLogin { + + /** + * AuthService instance. + * @name authService + * @type {Object} + */ + private authService = AuthService; + + /** + * history instance. + */ + @Prop() history: RouterHistory; + + /** + * Register form inputs and validations + * @name formControls + * @type {Object} + */ + @State() formControls = getFormValidations('login'); + + /** + * Form submission state + * @name submitted + * @type {boolean} + */ + @State() submitted = false; + + /** + * Form loading state + * @name formLoader + * @type {boolean} + */ + @State() formLoader = false; + + /** + * Form error state + * @name loginError + * @type {string} + */ + @State() loginError: string = ""; + + /** + * handle form values and do the validation work + * @param {string} controlName Control name for register form + * @param {any} value Control value for register form + * + * @returns {void} + */ + changeFormValue(controlName, value) { + this.formControls = { + ...this.formControls, + [controlName]: { + ...this.formControls[controlName], + value: value, + isValid: this.formControls[controlName].validate(value) + } + }; + } + + /** + * Handle login form + * Check user in supabase + * Redirect user to dashboard + * @param {event} e Form submit event + * + * @returns {void} + */ + async handleLogin(e) { + e.preventDefault(); + this.submitted = true; + let isFormValid = true; + //Run all validation functions + for (let controlName in this.formControls) { + let control = this.formControls[controlName]; + control.validate(control.value); + if (!control.isValid) { + isFormValid = false; + } + } + if (isFormValid) { + this.formLoader = true; + this.loginError = ''; + const loginRes = await this.authService.login({ email: this.formControls.email.value, password: this.formControls.password.value }); + if (loginRes.status == httpCode.success) { + this.formLoader = false; + this.history.push(`/`, {}); + } else { + this.formLoader = false; + this.loginError = loginRes.message; + } + } + } + + /** + * Render component + * + * @returns {void} + */ + render() { + if (AppState.isAuthenticated) { + return + } + return ( +
+ + +
+
+
+ Don't have an account? Register +
+ +
+
+
+ ); + } +} diff --git a/examples/with-stencil/src/components/auth/register/app-auth-register.e2e.ts b/examples/with-stencil/src/components/auth/register/app-auth-register.e2e.ts new file mode 100644 index 00000000000..c8c956e876a --- /dev/null +++ b/examples/with-stencil/src/components/auth/register/app-auth-register.e2e.ts @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('app-auth-register', () => { + it('renders', async () => { + const page = await newE2EPage(); + await page.setContent(''); + + const element = await page.find('app-auth-register'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/examples/with-stencil/src/components/auth/register/app-auth-register.tsx b/examples/with-stencil/src/components/auth/register/app-auth-register.tsx new file mode 100644 index 00000000000..b1ea63568ad --- /dev/null +++ b/examples/with-stencil/src/components/auth/register/app-auth-register.tsx @@ -0,0 +1,169 @@ +/** + * Component for showing user register. + * + * @component AppAuthRegister + */ + +import { Component, State, h, Prop } from '@stencil/core'; +import { RouterHistory } from '@stencil/router'; +import { AuthService } from "../../../services/auth.service"; +import { AppState } from '../../../store/app.store'; +import { httpCode, appConfig } from '../../../config/config'; +import { getFormValidations } from '../../../util/util'; + +@Component({ + tag: 'app-auth-register', + styleUrl: '../shared/app-auth-shared.scss', +}) +export class AppAuthRegister { + + /** + * AuthService instance. + * @name authService + * @type {Object} + */ + private authService = AuthService; + + /** + * history instance. + */ + @Prop() history: RouterHistory; + + /** + * Register form inputs and validations + */ + @State() formControls = getFormValidations('register'); + + /** + * Form submission state + */ + @State() submitted = false; + + /** + * Form loading state + */ + @State() formLoader = false; + + /** + * Form error state + */ + @State() registerError: string = ''; + + + /** + * handle form values and do the validation work + * @param {string} controlName Control name for register form + * @param {any} value Control value for register form + * + * @returns {void} + */ + changeFormValue(controlName, value) { + this.formControls = { + ...this.formControls, + [controlName]: { + ...this.formControls[controlName], + value: value, + isValid: this.formControls[controlName].validate(value) + } + }; + } + + /** + * Handle register form + * Save user in supabase and update username + * Redirect user to dashboard + * @param {event} e Form submit event + * + * @returns {void} + */ + async handleRegister(e) { + e.preventDefault(); + this.submitted = true; + let isFormValid = true; + //Run all validation functions + for (let controlName in this.formControls) { + let control = this.formControls[controlName]; + control.validate(control.value); + if (!control.isValid) { + isFormValid = false; + } + } + if (isFormValid) { + this.formLoader = true + this.registerError = ''; + const registerRes = await this.authService.register({ email: this.formControls.email.value, password: this.formControls.password.value }); + if (registerRes.status == httpCode.success) { + await this.authService.updateProfile(this.formControls.email.value); + this.history.push(`/`, {}); + } else { + this.registerError = registerRes.message; + this.formLoader = false; + } + } + } + + /** + * Render component + * + * @returns {void} + */ + render() { + if (AppState.isAuthenticated) { + return + } + return ( +
+ + +
+
+
+ Do you have an account? Login +
+
+

Welcome to Stencil & Supabase starter App

+

+ Insert your profile data to be able to navigate through the app +

+
this.handleRegister(e)} novalidate> + +
+ + this.changeFormValue("email", ev.target.value)} /> + + { + (!this.formControls.email.isValid && + this.submitted === true) && + Please enter your email + } + +
+
+ + this.changeFormValue("password", ev.target.value)} + /> + + { + (!this.formControls.password.isValid && + this.submitted === true) && + Please enter your password + } + +
+
+ +
+
+ + {this.registerError && {this.registerError}} +
+
+
+
+ ); + } +} diff --git a/examples/with-stencil/src/components/auth/shared/app-auth-shared.scss b/examples/with-stencil/src/components/auth/shared/app-auth-shared.scss new file mode 100644 index 00000000000..3612c40e0cc --- /dev/null +++ b/examples/with-stencil/src/components/auth/shared/app-auth-shared.scss @@ -0,0 +1,169 @@ + +.auth-box { + background-color: $clr-bg-box; + border-radius: 20px; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.025); + display: flex; + height: 60vh; + min-height: 50em; + overflow: hidden; + width: 75em; +} + +.auth-box-formbox { + display: flex; + flex: 1 1 100%; + flex-direction: column; + justify-content: center; + padding: 4em 6em; +} + +.auth-box-login, +.auth-box-register { + align-content: center; + display: flex; + flex-grow: 1; + flex-wrap: wrap; + + h1 > span { + color: $clr-bg-quote; + } + + & > * { + flex-shrink: 0; + width: 100%; + } +} + +form { + & > div { + padding: 1.5em 0; + position: relative; + + input { + border: 1px solid $clr-text-main; + border-radius: 5px; + color: $clr-text-main; + padding: 1.5em 2em; + width: 100%; + + &.input-email, + &.input-password { + background-position: right 1em top 1.25em; + background-repeat: no-repeat; + } + + &.input-email { + background-image: url('data:image/svg+xml;charset=UTF-8,'); + } + + &.input-password { + background-image: url('data:image/svg+xml;charset=UTF-8,'); + } + + &:focus { + border-color: $clr-bg-quote; + outline-color: $clr-bg-quote; + } + } + + button { + border: 1px solid $clr-text-main; + border-radius: 5px; + color: $clr-text-main; + padding: 1.5em 2em; + width: 100%; + } + + label { + background: $clr-bg-box; + font-size: 0.85em; + left: 1.5em; + padding: 0 0.5em; + position: absolute; + top: 1.25em; + } + + span.text-danger { + color: #f97130; + text-align: left; + text-transform: none; + } + + &:focus-within label { + color: $clr-bg-quote; + font-weight: 600; + } + + .btn { + background-color: $clr-bg-quote; + border-color: $clr-bg-quote; + color: $clr-bg-box; + cursor: pointer; + font-size: 1em; + letter-spacing: 1px; + line-height: 1; + transition: all 500ms ease; + + &:hover, + &:focus { + background-color: $clr-bg-quote-hover; + border-color: $clr-bg-quote-hover; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); + } + } + } +} + +.alternate-text { + align-items: center; + display: flex; + margin: 1.5em 0; + text-align: center; + + &::before, + &::after { + border-bottom: 1px solid $clr-text-main; + content: ''; + flex: 1; + } + + &::before { + margin-right: 1em; + } + + &::after { + margin-left: 1em; + } +} + +.alternate-boxes { + display: flex; + gap: 1em; + justify-content: space-between; + margin-top: 1.5em; +} + +.alternate-box { + border: 1px solid rgba($clr-text-main, 0.5); + border-radius: 5px; + color: $clr-text-headline; + cursor: pointer; + padding: 1em 1em; + text-align: center; + transition: all 500ms ease; + width: 100%; + + svg { + transition: transform 500ms ease; + } + + &:hover { + background-color: rgba($clr-text-main, 0.25); + border-color: $clr-text-main; + + svg { + transform: scale(1.25); + } + } +} diff --git a/examples/with-stencil/src/components/page/home/app-page-home.e2e.tsx b/examples/with-stencil/src/components/page/home/app-page-home.e2e.tsx new file mode 100644 index 00000000000..c575008fae4 --- /dev/null +++ b/examples/with-stencil/src/components/page/home/app-page-home.e2e.tsx @@ -0,0 +1,11 @@ +import { newE2EPage } from '@stencil/core/testing'; + +describe('app-page-home', () => { + it('renders', async () => { + const page = await newE2EPage(); + + await page.setContent(''); + const element = await page.find('app-page-home'); + expect(element).toHaveClass('hydrated'); + }); +}); diff --git a/examples/with-stencil/src/components/page/home/app-page-home.scss b/examples/with-stencil/src/components/page/home/app-page-home.scss new file mode 100644 index 00000000000..a45643c5ea3 --- /dev/null +++ b/examples/with-stencil/src/components/page/home/app-page-home.scss @@ -0,0 +1,37 @@ +.wrapper_404 { + flex-grow: 2; + margin: 0 auto; + text-align: center; + width: 40vw; + + + h1 { + color: $clr-bg-quote; + font-size: 5em; + font-weight: 500; + margin: 0; + } + + p { + font-size: 1.5em; + line-height: 1.4; + } + + a { + display: flex; + font-weight: 500; + justify-content: flex-end; + letter-spacing: .2em; + overflow: hidden; + padding-top: 20px; + position: relative; + text-decoration: none; + text-transform: uppercase; + transition: .3s; + + .buttons { + display: inline-block; + white-space: nowrap; + } + } +} diff --git a/examples/with-stencil/src/components/page/home/app-page-home.tsx b/examples/with-stencil/src/components/page/home/app-page-home.tsx new file mode 100644 index 00000000000..21451c4145c --- /dev/null +++ b/examples/with-stencil/src/components/page/home/app-page-home.tsx @@ -0,0 +1,23 @@ +import { Component, h } from '@stencil/core'; + +@Component({ + tag: 'app-page-home', + styleUrl: 'app-page-home.scss', + +}) +export class AppPageHome { + + render() { + return ( +
+
+

Page not found ~ 404

+

The page you are requested is not found.

+ +
Back to Home
+
+
+
+ ); + } +} diff --git a/examples/with-stencil/src/config/config.ts b/examples/with-stencil/src/config/config.ts new file mode 100644 index 00000000000..67070f4df9f --- /dev/null +++ b/examples/with-stencil/src/config/config.ts @@ -0,0 +1,31 @@ + +const supabaseConfig = { + supabaseUrl: 'https://akakxshwrukpetyzjnyi.supabase.co', + supabaseKey: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYxMDk3ODA4OSwiZXhwIjoxOTI2NTU0MDg5fQ.xQTiGKgZ0p7Ch1paDP2KCExiVhFeqZicLm4s36XFUIk' +}; + +const httpCode = { + success: 200, + notFound: 404, + serverError: 504 +}; + +const appName: string = 'Stencil & Supabase'; + +const appConfig = { + name: appName, + pageTitlePrefix: appName, + pageTitle: { + login: 'Login', + register: 'Register', + dashboard: 'Dashboard', + password: 'Update Password' + }, + loadingBtnTxt: 'Loading...' +}; + +export { + supabaseConfig, + httpCode, + appConfig +} diff --git a/examples/with-stencil/src/global/app.scss b/examples/with-stencil/src/global/app.scss new file mode 100644 index 00000000000..3080c64cc8c --- /dev/null +++ b/examples/with-stencil/src/global/app.scss @@ -0,0 +1 @@ +@import '../assets/scss/definitions'; diff --git a/examples/with-stencil/src/global/app.ts b/examples/with-stencil/src/global/app.ts new file mode 100644 index 00000000000..826167f53aa --- /dev/null +++ b/examples/with-stencil/src/global/app.ts @@ -0,0 +1,7 @@ +export default async () => { + /** + * The code to be executed should be placed within a default function that is + * exported by the global script. Ensure all of the code in the global script + * is wrapped in the function() that is exported. + */ +}; diff --git a/examples/with-stencil/src/index.html b/examples/with-stencil/src/index.html new file mode 100644 index 00000000000..82554669232 --- /dev/null +++ b/examples/with-stencil/src/index.html @@ -0,0 +1,45 @@ + + + + + + Stencil & Supabase + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/with-stencil/src/index.ts b/examples/with-stencil/src/index.ts new file mode 100644 index 00000000000..9d86232452f --- /dev/null +++ b/examples/with-stencil/src/index.ts @@ -0,0 +1,2 @@ +export { Components, JSX } from './components'; +import '@stencil/router'; diff --git a/examples/with-stencil/src/interface/interface.ts b/examples/with-stencil/src/interface/interface.ts new file mode 100644 index 00000000000..1b4082516fb --- /dev/null +++ b/examples/with-stencil/src/interface/interface.ts @@ -0,0 +1,29 @@ +interface ICM { + [key: string]: any +} +interface IBaseRes { + status: number; + data: any, + message: string; + errors?: ICM +} +interface IUserBase { + email: string; + password: string; +} +interface IUserRegister extends IUserBase { + name?: string +} +interface IUserLogin extends IUserBase { + stayLoggedIn?: boolean +} +interface IErrorRes { + code: string; + message: any +} +export { + IBaseRes, + IUserRegister, + IUserLogin, + IErrorRes +} diff --git a/examples/with-stencil/src/manifest.json b/examples/with-stencil/src/manifest.json new file mode 100644 index 00000000000..4607c5d5cb5 --- /dev/null +++ b/examples/with-stencil/src/manifest.json @@ -0,0 +1,13 @@ +{ + "name": "Stencil Supabase Starter", + "short_name": "Stencil Supabase", + "start_url": "/", + "display": "standalone", + "icons": [{ + "src": "assets/icon/icon.png", + "sizes": "512x512", + "type": "image/png" + }], + "background_color": "#16161d", + "theme_color": "#16161d" +} diff --git a/examples/with-stencil/src/services/auth.service.ts b/examples/with-stencil/src/services/auth.service.ts new file mode 100644 index 00000000000..79d37a32f97 --- /dev/null +++ b/examples/with-stencil/src/services/auth.service.ts @@ -0,0 +1,189 @@ +/** + * This class act as service to handle supabase operations related to user authentications. + * Login/Register/Change Password/Logout + * + * @class SupabaseAuthService + * + */ + +import SupabaseService from './supabase.service' +import { supabaseConfig, httpCode } from "../config/config"; +import { AppState, setStateProp } from "../store/app.store"; +import { IBaseRes, IUserRegister, IUserLogin } from "../interface/interface"; +import { appMsg } from "../util/util"; + +class SupabaseAuthService { + supabase: any; + + /** + * @constructor + */ + constructor() { + const connection = new SupabaseService(supabaseConfig.supabaseUrl, supabaseConfig.supabaseKey); + this.supabase = connection.supabase; + this.init() + } + + /** + * Initialize supabase instance + * If user is already login set user state + * @name init + * + * @returns {void} + */ + private init(): void { + setStateProp('appInit', true) + + try { + this.supabase.auth.onAuthStateChange((_event, session) => { + + if (session) { + AppState.user = session.user; + AppState.isAuthenticated = true; + } else { + AppState.user = undefined; + AppState.isAuthenticated = false; + } + }) + + AppState.appInit = false; + + } catch (error) { + const errorRes = this.buildErrorRes(httpCode.serverError, error); + AppState.appInit = false; + AppState.appInitError = errorRes.message ? errorRes.message : appMsg('server-ref'); + } + } + + /** + * Build success response + * @name buildRes + * + * @param {number} status status code + * @param {any} data response data + * @param {string} message message to show + * @param {any} errors errors object if any + * + * @returns {IBaseRes} + */ + private buildRes(status: number, data?: any, message?: string, errors?: any): IBaseRes { + return { + status, + data, + errors, + message + } + } + + /** + * Build error response + * @name buildErrorRes + * + * @param {number} status status code + * @param {any} errors errors object if any + * + * @returns {IBaseRes} + */ + private buildErrorRes(status: number, errors?: any): IBaseRes { + return { + status: status, + data: null, + errors: {}, + message: errors.error_description ? errors.error_description : errors + } + } + + /** + * Handle supabase login + * @name login + * + * @param {IUserLogin} userData + * + * @returns {IBaseRes} Promise that represents object + */ + async login({email, password}: IUserLogin): Promise { + let _error = null + try { + const { error, data } = await this.supabase.auth.signIn({ email, password}); + + if (error) { + _error = error.message; + return this.buildErrorRes(httpCode.serverError, error.message); + } + + return this.buildRes(httpCode.success, data); + } catch (er) { + alert('x') + return this.buildErrorRes(httpCode.serverError, _error); + } + } + + /** + * Handle supabase registration + * @name register + * + * @param {IUserRegister} userData + * + * + */ +// @returns {IBaseRes} Promise that represents object + async register(userData: IUserRegister) /* Promise */ { + try { + const { error, data } = await this.supabase.auth.signUp({ email: userData.email, password: userData.password }); + if (error) { + return this.buildErrorRes(httpCode.serverError, error.message); + } + + return this.buildRes(httpCode.success, data); + } catch (error) { + return this.buildErrorRes(httpCode.serverError, error); + } + } + + /** + * Handle supabase logout + * @name logOut + * + * @returns {IBaseRes} Promise that represents object + */ + async logOut(): Promise { + try { + if (AppState.isAuthenticated) { + AppState.isAuthenticated = false; + AppState.user = undefined; + try { + await this.supabase.auth.signOut(); + } catch (error) { + return this.buildErrorRes(httpCode.serverError, error); + } + } + return this.buildRes(httpCode.success, {}, appMsg('logout')); + } catch (error) { + return this.buildErrorRes(httpCode.serverError, error); + } + } + + /** + * Handle supabase update user profile + * @name updateProfile + * + * @param {string} email + * + * @returns {IBaseRes} Promise that represents object + */ + async updateProfile(email: string): Promise { + try { + AppState.user = { + ...AppState.user, + email, + }; + AppState.isAuthenticated = true + + return this.buildRes(httpCode.success, {}, appMsg('update-profile')); + } catch (error) { + return this.buildErrorRes(httpCode.serverError, error); + } + } +} + +export const AuthService = new SupabaseAuthService(); diff --git a/examples/with-stencil/src/services/supabase.service.ts b/examples/with-stencil/src/services/supabase.service.ts new file mode 100644 index 00000000000..c984974ce67 --- /dev/null +++ b/examples/with-stencil/src/services/supabase.service.ts @@ -0,0 +1,32 @@ +import { createClient } from '@supabase/supabase-js' + +let instance = null + +/** + * This class is a singleton service to handle Supabase connection. + * + * @class SupabaseService + * @docs https://gist.github.com/ftonato/23585d6098490d0239feaeddb7f1e56c + * @author Ademรญlson F. Tonato - ftonato + * + */ +export default class SupabaseService { + supabase: any + constructor(supabaseUrl: string, supabaseKey: string) { + + if (!supabaseUrl) throw new Error(`${SupabaseService.getClassName()} => supabaseUrl is required.`) + if (!supabaseKey) throw new Error(`${SupabaseService.getClassName()} => supabaseKey is required.`) + + if (!instance) { + instance = this + } + + this.supabase = createClient(supabaseUrl, supabaseKey) + + return instance + } + + static getClassName(): string { + return SupabaseService.name + } +} diff --git a/examples/with-stencil/src/store/app.store.ts b/examples/with-stencil/src/store/app.store.ts new file mode 100644 index 00000000000..e5aecb453cd --- /dev/null +++ b/examples/with-stencil/src/store/app.store.ts @@ -0,0 +1,28 @@ +import { createStore } from '@stencil/store'; + +const store = createStore({ + user: undefined, + isAuthenticated: false, + appInitError: '', + appInit: false, + registerLoader: false, + loginLoader: false +}); + +store.onChange('isAuthenticated', (value) => { + AppState.isAuthenticated = value; +}); +store.onChange('user', (value) => { + AppState.user = value; +}); +store.onChange('appInitError', (value) => { + AppState.appInitError = value; +}); +store.onChange('appInit', (value) => { + AppState.appInit = value; +}); + +export const AppState = store.state; +export const getStateProp = store.get; +export const setStateProp = store.set; +export const resetAppState = store.reset; diff --git a/examples/with-stencil/src/util/util.ts b/examples/with-stencil/src/util/util.ts new file mode 100644 index 00000000000..1863efc6206 --- /dev/null +++ b/examples/with-stencil/src/util/util.ts @@ -0,0 +1,46 @@ +const appMsg = (key: string): string => { + const msg = { + 'server': 'An internal error occurred, please try again.', + 'server-ref': 'Internal error, Please try to refresh your page.', + 'not-found': 'The resource you are looking for not found.', + 'logout': 'You are logout out successfully.', + }; + return msg[key] ? msg[key] : ''; +}; +const checkEmpty = (value: any): boolean => { + return value; +} +const getFormValidations = (key, values = {}) => { + const validations = { + login: { + email: { + value: values['email'] ? values['email'] : null, + validate: checkEmpty, + isValid: values['email'] ? true : false + }, + password: { + value: values['password'] ? values['password'] : null, + validate: checkEmpty, + isValid: values['password'] ? true : false + } + }, + register: { + email: { + value: values['email'] ? values['email'] : null, + validate: checkEmpty, + isValid: values['email'] ? true : false + }, + password: { + value: values['password'] ? values['password'] : null, + validate: checkEmpty, + isValid: values['password'] ? true : false + } + }, + }; + return validations[key] ? validations[key] : {} +} + +export { + appMsg, + getFormValidations +} diff --git a/examples/with-stencil/stencil.config.ts b/examples/with-stencil/stencil.config.ts new file mode 100644 index 00000000000..192937dd1e2 --- /dev/null +++ b/examples/with-stencil/stencil.config.ts @@ -0,0 +1,24 @@ +import { Config } from '@stencil/core'; +import { sass } from '@stencil/sass'; + +export const config: Config = { + globalStyle: 'src/global/app.scss', + globalScript: 'src/global/app.ts', + taskQueue: 'async', + enableCache: false, + outputTargets: [ + { + type: 'www', + // Comment the following line to disable service workers in production + serviceWorker: null, + baseUrl: 'https://stencil-supabase.local/', + } + ], + plugins: [ + sass( + {injectGlobalPaths: [ + 'src/assets/scss/helpers/variables.scss' + ]} + ) + ] +}; diff --git a/examples/with-stencil/tsconfig.json b/examples/with-stencil/tsconfig.json new file mode 100644 index 00000000000..34bb4447cfb --- /dev/null +++ b/examples/with-stencil/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "allowUnreachableCode": false, + "declaration": false, + "experimentalDecorators": true, + "lib": [ + "dom", + "es2015" + ], + "moduleResolution": "node", + "module": "esnext", + "target": "es2017", + "noUnusedLocals": true, + "noUnusedParameters": true, + "jsx": "react", + "jsxFactory": "h" + }, + "include": [ + "src" + ], + "exclude": [ + "node_modules" + ] +}