From e5f0867499cd3f1ee76d5c85ca80dee728b00f54 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Tue, 19 Jan 2021 09:40:42 +0100 Subject: [PATCH 001/134] Update README.md --- README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 1fc6fa1..d5a7711 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Ponieważ aplikacja ma być sygnowana przez CodersCrew, spróbujcie przygotować Nie jest to konieczność, ale fajna możliwość wypróbowania swojej skuteczności z takim wymaganiem (które jest częste w praktyce). -Lista funkcjonalności, jakie należy zaimplementować w silniku gry: +Lista funkcjonalności, jakie należy zaimplementować w silniku gry (od najważniejszych): 1. Ruchy wszystkich bierek (wykonanie ruchu, jak i pokazywanie możliwych): - Pionek - Hetman @@ -76,9 +76,13 @@ Lista funkcjonalności, jakie należy zaimplementować w silniku gry: 1. Roszada: https://pl.wikipedia.org/wiki/Roszada 1. Szachowanie króla: https://pl.wikipedia.org/wiki/Szach_(szachy) 1. Szach mat: https://pl.wikipedia.org/wiki/Mat_(szachy) -1. Kończenie gry przez Pat: https://www.chess.com/pl/article/view/czym-jest-pat-szachowe-terminy -1. Bicie w przelocie: https://www.chess.com/pl/article/view/bicie-w-przelocie-specjalne-ruchy-w-szachach +1. Przeprowadzenie całej partii szachów. 1. Możliwość cofania ruchów (aż do początkowego układu). +1. Tekstowe komentarze do gry (przykładowo): + - `Gracz Biały wykonał ruch "Koń z C1 na D3"` + - `Gracz Czarny dokonał promocji Pionka na Hetmana na polu A1. Szach białego Króla!` + - `Gracz Biały wykonał roszadę po stronie królowej.` +1. Kończenie gry przez Pat: https://www.chess.com/pl/article/view/czym-jest-pat-szachowe-terminy Uwaga: Pamiętajcie, że na ruchy bierek, promocję pionka i możliwość roszady wpływa na szachowanie króla. Najlepiej zagrajcie kilka partii w zespole, żeby zapoznać się z tą domeną. No chyba, że macie w swoim zespole eksperta? Dokładnie poznajcie domenę, w jakiej działa wasze oprogramowanie, czyli grę w szachy, aby nie wprowadzić jakiegoś zachowania niezgodnego z zasadami i żeby nic nie przeoczyć. @@ -100,12 +104,9 @@ A co znaczy „odpowiednio pokryta”, to już należy właśnie ustalić z samy ## Możliwe usprawnienia i dodatkowe funkcjonalności: Jeśli starczy czasu, dla własnego rozwoju warto rozważyć wykonanie poniższych funkcjonalności. +1. Bicie w przelocie: https://www.chess.com/pl/article/view/bicie-w-przelocie-specjalne-ruchy-w-szachach 1. Wczytywanie i zapisywanie stanu partii (szachownica, czas graczy itp.) - po wczytaniu musi być możliwe cofanie ruchów. Stan partii powinien zapisywać się automatycznie co wykonany ruch. 1. Tworzenie nowej partii z aktualnego stanu partii. Gra nie może być zakończona. -1. Tekstowe komentarze do gry (przykładowo): - - `Gracz Biały wykonał ruch "Koń z C1 na D3"` - - `Gracz Czarny dokonał promocji Pionka na Hetmana na polu A1. Szach białego Króla!` - - `Gracz Biały wykonał roszadę po stronie królowej.` 1. Możliwość wyboru nieskończonego czasu gry lub szachów błyskawicznych (czas ograniczony dla każdego z graczy). 1. Odliczanie czasu dla każdej ze stron (cofanie ruchu musi cofać czas do stanu sprzed ruchu) w przypadku szachów błyskawicznych. 1. Dodatkowy czas doliczany do limitu czasowego gracza za każdy ruch (propocjonalny do długości całej patrii). From 9ae96cde01c04b3ac61cbeaa8a1558b36a87f0f5 Mon Sep 17 00:00:00 2001 From: Pawel Date: Tue, 19 Jan 2021 20:30:57 +0100 Subject: [PATCH 002/134] initial commit --- .babelrc | 3 + .gitignore | 7 + .prettierrc | 6 + index.html | 12 + package-lock.json | 10239 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 79 + sass/_main.scss | 14 + sass/_mixins.scss | 12 + sass/_reset.scss | 56 + sass/_vars.scss | 0 sass/style.scss | 10 + src/app/App.ts | 3 + src/app/sdadsa.ts | 0 src/index.ts | 6 + tsconfig.json | 73 + 15 files changed, 10520 insertions(+) create mode 100644 .babelrc create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 sass/_main.scss create mode 100644 sass/_mixins.scss create mode 100644 sass/_reset.scss create mode 100644 sass/_vars.scss create mode 100644 sass/style.scss create mode 100644 src/app/App.ts create mode 100644 src/app/sdadsa.ts create mode 100644 src/index.ts create mode 100644 tsconfig.json diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..1320b9a --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["@babel/preset-env"] +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c3833b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +node_modules +.idea +dist +.cachec +overage +css +.history diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..cf9f4b2 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "singleQuote": true, + "trailingComma": "all", + "tabWidth": 2, + "semi": true +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..633cc30 --- /dev/null +++ b/index.html @@ -0,0 +1,12 @@ + + + + + + ....Our title + + + + + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..bd5082f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,10239 @@ +{ + "name": "coderscamp2020.project.typescript.chess", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + }, + "@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "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": { + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "requires": { + "@babel/types": "^7.12.11", + "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=" + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "requires": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@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==" + }, + "@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" + }, + "@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@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==", + "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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "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.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz", + "integrity": "sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.10.tgz", + "integrity": "sha512-0ti12wLTLeUIzu9U7kjqIn4MyOL7+Wibc7avsHhj4o1l5C0ATs8p2IMHrVYjm9t9wzhfEO6S3kxax0Rpdo8LTg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", + "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.10", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1", + "@babel/types": "^7.12.12" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "requires": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", + "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@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" + } + }, + "@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" + }, + "@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" + } + }, + "@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": { + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "@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" + } + }, + "@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" + } + }, + "@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" + } + }, + "@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" + } + }, + "@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" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, + "@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" + } + }, + "@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": { + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "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" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, + "@open-draft/until": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", + "integrity": "sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==", + "dev": true + }, + "@parcel/fs": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz", + "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", + "requires": { + "@parcel/utils": "^1.11.0", + "mkdirp": "^0.5.1" + } + }, + "@parcel/logger": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz", + "integrity": "sha512-9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==", + "requires": { + "@parcel/workers": "^1.11.0", + "chalk": "^2.1.0", + "grapheme-breaker": "^0.3.2", + "ora": "^2.1.0", + "strip-ansi": "^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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@parcel/utils": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz", + "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==" + }, + "@parcel/watcher": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz", + "integrity": "sha512-od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==", + "requires": { + "@parcel/utils": "^1.11.0", + "chokidar": "^2.1.5" + } + }, + "@parcel/workers": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz", + "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==", + "requires": { + "@parcel/utils": "^1.11.0", + "physical-cpu-count": "^2.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" + } + }, + "@testing-library/dom": { + "version": "7.29.4", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.4.tgz", + "integrity": "sha512-CtrJRiSYEfbtNGtEsd78mk1n1v2TUbeABlNIcOCJdDfkN5/JTOwQEbbQpoSRxGqzcWPgStMvJ4mNolSuBRv1NA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.4", + "lz-string": "^1.4.4", + "pretty-format": "^26.6.2" + } + }, + "@testing-library/jest-dom": { + "version": "5.11.9", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.9.tgz", + "integrity": "sha512-Mn2gnA9d1wStlAIT2NU8J15LNob0YFBVjs2aEQ3j8rsfRQo+lAs7/ui1i2TGaJjapLmuNPLTsrm+nPjmZDwpcQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^4.2.2", + "chalk": "^3.0.0", + "css": "^3.0.0", + "css.escape": "^1.5.1", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@testing-library/user-event": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.6.0.tgz", + "integrity": "sha512-FNEH/HLmOk5GO70I52tKjs7WvGYckeE/SrnLX/ip7z2IGbffyd5zOUM1tZ10vsTphqm+VbDFI0oaXu0wcfQsAQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@types/aria-query": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz", + "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==", + "dev": true + }, + "@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/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==", + "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==" + }, + "@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==", + "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==", + "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==", + "requires": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "14.14.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.21.tgz", + "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A==" + }, + "@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/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prettier": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", + "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", + "dev": true + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "@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/testing-library__jest-dom": { + "version": "5.9.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz", + "integrity": "sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ==", + "dev": true, + "requires": { + "@types/jest": "*" + } + }, + "@types/yargs": { + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", + "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + } + } + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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" + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "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==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "ansi-to-html": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", + "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", + "requires": { + "entities": "^1.1.2" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "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==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "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=" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "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" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.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" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + } + } + }, + "babylon-walk": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz", + "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=", + "requires": { + "babel-runtime": "^6.11.6", + "babel-types": "^6.15.0", + "lodash.clone": "^4.5.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==", + "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=", + "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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "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": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brfs": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", + "requires": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "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==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "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" + } + }, + "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==" + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + }, + "dependencies": { + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + } + } + }, + "browserslist": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", + "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", + "requires": { + "caniuse-lite": "^1.0.30001173", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.634", + "escalade": "^3.1.1", + "node-releases": "^1.1.69" + } + }, + "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": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + }, + "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==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "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" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001178", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001178.tgz", + "integrity": "sha512-VtdZLC0vsXykKni8Uztx45xynytOi71Ufx9T8kHptSw9AL4dpqailUJJHavttuzUe1KYuBYtChiWv+BAb7mPmQ==" + }, + "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=" + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "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 + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "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 + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "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==", + "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=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==" + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + }, + "dependencies": { + "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==", + "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=" + } + } + }, + "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==", + "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==" + }, + "color-string": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true + }, + "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==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "core-js-compat": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", + "requires": { + "browserslist": "^4.16.1", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, + "core-js-pure": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", + "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==", + "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=" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "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==", + "dev": true, + "requires": { + "node-fetch": "2.6.1" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + }, + "dependencies": { + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + } + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-modules-loader-core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", + "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", + "requires": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.1", + "postcss-modules-extract-imports": "1.1.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", + "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", + "requires": { + "chalk": "^1.1.3", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + } + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "requires": { + "cssom": "0.3.x" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "deasync": { + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz", + "integrity": "sha512-kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w==", + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "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=" + }, + "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 + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + } + } + }, + "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==", + "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==", + "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==", + "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==", + "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==", + "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=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "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 + }, + "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==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "dom-accessibility-api": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz", + "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==", + "dev": true + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "requires": { + "readable-stream": "^2.0.2" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "1.3.641", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.641.tgz", + "integrity": "sha512-b0DLhsHSHESC1I+Nx6n4w4Lr61chMd3m/av1rZQhS2IXTzaS5BMM5N+ldWdMIlni9CITMRM09m8He4+YV/92TA==" + }, + "elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "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 + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "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==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "envinfo": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", + "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==" + }, + "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==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + }, + "dependencies": { + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + } + } + }, + "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==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "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=" + }, + "escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "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" + } + }, + "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=", + "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==", + "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=", + "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=", + "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=" + } + } + }, + "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" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "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==", + "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==", + "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=", + "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=", + "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==", + "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==", + "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==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "falafel": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", + "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", + "requires": { + "acorn": "^7.1.1", + "foreach": "^2.0.5", + "isarray": "^2.0.1", + "object-keys": "^1.0.6" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, + "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==" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "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==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "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" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "find-versions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", + "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", + "dev": true, + "requires": { + "semver-regex": "^3.1.2" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "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==", + "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=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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==" + }, + "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-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "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-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" + }, + "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" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "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": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "grapheme-breaker": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", + "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", + "requires": { + "brfs": "^1.2.0", + "unicode-trie": "^0.3.1" + } + }, + "graphql": { + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.4.0.tgz", + "integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==", + "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=" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "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==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "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=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "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" + } + }, + "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==" + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "headers-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/headers-utils/-/headers-utils-1.2.0.tgz", + "integrity": "sha512-4/BMXcWrJErw7JpM87gF8MNEXcIMLzepYZjNRv/P9ctgupl2Ywa3u1PgHtNhSRq84bHH9Ndlkdy7bSi+bZ9I9A==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "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 + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "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 + }, + "html-tags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz", + "integrity": "sha1-x43mW1Zjqll5id0rerSSANfk25g=" + }, + "htmlnano": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.8.tgz", + "integrity": "sha512-q5gbo4SIDAE5sfJ5V0UD6uu+n1dcO/Mpr0B6SlDlJBoV7xKPne4uG4UwrT8vUWjdjIPJl95TY8EDuEbBW2TG0A==", + "requires": { + "cssnano": "^4.1.10", + "posthtml": "^0.13.4", + "posthtml-render": "^1.3.0", + "purgecss": "^2.3.0", + "relateurl": "^0.2.7", + "srcset": "^3.0.0", + "svgo": "^1.3.2", + "terser": "^4.8.0", + "timsort": "^0.3.0", + "uncss": "^0.17.3" + }, + "dependencies": { + "posthtml": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.13.4.tgz", + "integrity": "sha512-i2oTo/+dwXGC6zaAQSF6WZEQSbEqu10hsvg01DWzGAfZmy31Iiy9ktPh9nnXDfZiYytjxTIvxoK4TI0uk4QWpw==", + "requires": { + "posthtml-parser": "^0.5.0", + "posthtml-render": "^1.2.3" + } + }, + "posthtml-parser": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.5.3.tgz", + "integrity": "sha512-uHosRn0y+1wbnlYKrqMjBPoo/kK5LPYImLtiETszNFYfFwAD3cQdD1R2E13Mh5icBxkHj+yKtlIHozCsmVWD/Q==", + "requires": { + "htmlparser2": "^3.9.2" + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "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" + } + } + } + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "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 + }, + "husky": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", + "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^7.0.0", + "find-versions": "^4.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^5.0.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.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" + } + }, + "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 + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.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" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "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==" + }, + "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-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + }, + "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=", + "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=", + "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=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + }, + "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-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.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==", + "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=", + "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=", + "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==" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "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==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "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=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "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==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-html": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz", + "integrity": "sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=", + "requires": { + "html-tags": "^1.0.0" + } + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "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==", + "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==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "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==", + "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-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "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==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "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" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "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.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "dependencies": { + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "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.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.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": { + "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" + } + }, + "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" + } + }, + "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==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "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 + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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 + }, + "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" + } + } + } + }, + "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": { + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + } + } + }, + "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==", + "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" + } + }, + "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": { + "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-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 + }, + "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 + } + } + }, + "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" + } + }, + "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 + } + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", + "dev": true + } + } + }, + "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" + } + }, + "jest-fetch-mock": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", + "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", + "dev": true, + "requires": { + "cross-fetch": "^3.0.4", + "promise-polyfill": "^8.1.3" + } + }, + "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==" + }, + "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": { + "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" + } + }, + "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" + } + }, + "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" + } + }, + "fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": 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 + }, + "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" + } + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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": { + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + } + } + }, + "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": "*" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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": { + "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": { + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + } + } + }, + "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": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "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" + } + }, + "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==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", + "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", + "requires": { + "abab": "^2.0.0", + "acorn": "^6.0.4", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.1.3", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.5.0", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.2", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "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=" + }, + "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==" + }, + "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=" + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.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==" + }, + "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.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "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==", + "dev": true, + "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==" + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + }, + "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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.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" + } + }, + "lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", + "dev": true + }, + "magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "requires": { + "vlq": "^0.2.2" + } + }, + "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" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "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=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "requires": { + "source-map": "^0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "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 + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "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==" + }, + "mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "requires": { + "mime-db": "1.45.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "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==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "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==", + "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==", + "requires": { + "minimist": "^1.2.5" + } + }, + "mri": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", + "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "msw": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/msw/-/msw-0.21.3.tgz", + "integrity": "sha512-voPc/EJsjarvi454vSEuozZQQqLG4AUHT6qQL5Ah47lq7sGCpc7icByeUlfvEj5+MvaugN0c7JwXyCa2rxu8cA==", + "dev": true, + "requires": { + "@open-draft/until": "^1.0.3", + "@types/cookie": "^0.4.0", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cookie": "^0.4.1", + "graphql": "^15.3.0", + "headers-utils": "^1.2.0", + "node-fetch": "^2.6.1", + "node-match-path": "^0.4.4", + "node-request-interceptor": "^0.5.1", + "statuses": "^2.0.0", + "yargs": "^16.0.3" + }, + "dependencies": { + "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" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "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" + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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" + } + }, + "fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true + }, + "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" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "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 + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "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" + } + }, + "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" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + } + } + }, + "multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "requires": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + } + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "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 + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true + }, + "node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + }, + "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-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "node-match-path": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/node-match-path/-/node-match-path-0.4.4.tgz", + "integrity": "sha512-pBq9gp7TG0r0VXuy/oeZmQsjBSnYQo7G886Ly/B3azRwZuEtHCY155dzmfoKWcDPGgyfIGD8WKVC7h3+6y7yTg==", + "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": { + "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" + } + }, + "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" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-releases": { + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" + }, + "node-request-interceptor": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/node-request-interceptor/-/node-request-interceptor-0.5.9.tgz", + "integrity": "sha512-M1a3aulCW/kqajDn/w+qBX86G4So7utJGlrODAjQ1piz/kR8ZaDfd/wrJnsuPtUM12F0YxsnXG8qRKFkIEIxsw==", + "dev": true, + "requires": { + "@open-draft/until": "^1.0.3", + "debug": "^4.3.0", + "headers-utils": "^1.2.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" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + }, + "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" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "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=", + "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=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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" + } + }, + "ora": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", + "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", + "requires": { + "chalk": "^2.3.1", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.1.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^4.0.0", + "wcwidth": "^1.0.1" + }, + "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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "parcel": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-1.12.4.tgz", + "integrity": "sha512-qfc74e2/R4pCoU6L/ZZnK9k3iDS6ir4uHea0e9th9w52eehcAGf2ido/iABq9PBXdsIOe4NSY3oUm7Khe7+S3w==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.4.4", + "@babel/generator": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/plugin-transform-flow-strip-types": "^7.4.4", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/preset-env": "^7.4.4", + "@babel/runtime": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4", + "@iarna/toml": "^2.2.0", + "@parcel/fs": "^1.11.0", + "@parcel/logger": "^1.11.1", + "@parcel/utils": "^1.11.0", + "@parcel/watcher": "^1.12.1", + "@parcel/workers": "^1.11.0", + "ansi-to-html": "^0.6.4", + "babylon-walk": "^1.0.2", + "browserslist": "^4.1.0", + "chalk": "^2.1.0", + "clone": "^2.1.1", + "command-exists": "^1.2.6", + "commander": "^2.11.0", + "core-js": "^2.6.5", + "cross-spawn": "^6.0.4", + "css-modules-loader-core": "^1.1.0", + "cssnano": "^4.0.0", + "deasync": "^0.1.14", + "dotenv": "^5.0.0", + "dotenv-expand": "^5.1.0", + "envinfo": "^7.3.1", + "fast-glob": "^2.2.2", + "filesize": "^3.6.0", + "get-port": "^3.2.0", + "htmlnano": "^0.2.2", + "is-glob": "^4.0.0", + "is-url": "^1.2.2", + "js-yaml": "^3.10.0", + "json5": "^1.0.1", + "micromatch": "^3.0.4", + "mkdirp": "^0.5.1", + "node-forge": "^0.7.1", + "node-libs-browser": "^2.0.0", + "opn": "^5.1.0", + "postcss": "^7.0.11", + "postcss-value-parser": "^3.3.1", + "posthtml": "^0.11.2", + "posthtml-parser": "^0.4.0", + "posthtml-render": "^1.1.3", + "resolve": "^1.4.0", + "semver": "^5.4.1", + "serialize-to-js": "^3.0.0", + "serve-static": "^1.12.4", + "source-map": "0.6.1", + "terser": "^3.7.3", + "v8-compile-cache": "^2.0.0", + "ws": "^5.1.1" + }, + "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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "parcel-bundler": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.4.tgz", + "integrity": "sha512-G+iZGGiPEXcRzw0fiRxWYCKxdt/F7l9a0xkiU4XbcVRJCSlBnioWEwJMutOCCpoQmaQtjB4RBHDGIHN85AIhLQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.4.4", + "@babel/generator": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/plugin-transform-flow-strip-types": "^7.4.4", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/preset-env": "^7.4.4", + "@babel/runtime": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4", + "@iarna/toml": "^2.2.0", + "@parcel/fs": "^1.11.0", + "@parcel/logger": "^1.11.1", + "@parcel/utils": "^1.11.0", + "@parcel/watcher": "^1.12.1", + "@parcel/workers": "^1.11.0", + "ansi-to-html": "^0.6.4", + "babylon-walk": "^1.0.2", + "browserslist": "^4.1.0", + "chalk": "^2.1.0", + "clone": "^2.1.1", + "command-exists": "^1.2.6", + "commander": "^2.11.0", + "core-js": "^2.6.5", + "cross-spawn": "^6.0.4", + "css-modules-loader-core": "^1.1.0", + "cssnano": "^4.0.0", + "deasync": "^0.1.14", + "dotenv": "^5.0.0", + "dotenv-expand": "^5.1.0", + "envinfo": "^7.3.1", + "fast-glob": "^2.2.2", + "filesize": "^3.6.0", + "get-port": "^3.2.0", + "htmlnano": "^0.2.2", + "is-glob": "^4.0.0", + "is-url": "^1.2.2", + "js-yaml": "^3.10.0", + "json5": "^1.0.1", + "micromatch": "^3.0.4", + "mkdirp": "^0.5.1", + "node-forge": "^0.7.1", + "node-libs-browser": "^2.0.0", + "opn": "^5.1.0", + "postcss": "^7.0.11", + "postcss-value-parser": "^3.3.1", + "posthtml": "^0.11.2", + "posthtml-parser": "^0.4.0", + "posthtml-render": "^1.1.3", + "resolve": "^1.4.0", + "semver": "^5.4.1", + "serialize-to-js": "^3.0.0", + "serve-static": "^1.12.4", + "source-map": "0.6.1", + "terser": "^3.7.3", + "v8-compile-cache": "^2.0.0", + "ws": "^5.1.1" + }, + "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" + } + } + } + }, + "parcel-plugin-static-files-copy": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/parcel-plugin-static-files-copy/-/parcel-plugin-static-files-copy-2.5.0.tgz", + "integrity": "sha512-5rxOPw3iV+WXhePfByoIxsUlL4I0o95CgcF31gwgnhPuj2q6tVPuzEAJsag9bWJr5Vd/SXFPTNsUAGAg4jP07Q==", + "dev": true, + "requires": { + "minimatch": "3.0.4", + "path": "0.12.7" + } + }, + "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" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dev": true, + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + } + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "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==", + "dev": true + }, + "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": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "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==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" + }, + "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": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "requires": { + "find-up": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "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=" + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.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==", + "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==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "dependencies": { + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + } + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", + "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "requires": { + "postcss": "^6.0.1" + }, + "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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + }, + "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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "posthtml": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz", + "integrity": "sha512-C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==", + "requires": { + "posthtml-parser": "^0.4.1", + "posthtml-render": "^1.1.5" + } + }, + "posthtml-parser": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz", + "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==", + "requires": { + "htmlparser2": "^3.9.2" + } + }, + "posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "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==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + }, + "pretty-quick": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.0.tgz", + "integrity": "sha512-DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "execa": "^4.0.0", + "find-up": "^4.1.0", + "ignore": "^5.1.4", + "mri": "^1.1.5", + "multimatch": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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" + } + }, + "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" + } + }, + "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==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "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 + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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 + }, + "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" + } + } + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise-polyfill": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", + "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==", + "dev": true + }, + "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" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "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==" + }, + "purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", + "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", + "requires": { + "commander": "^5.0.0", + "glob": "^7.0.0", + "postcss": "7.0.32", + "postcss-selector-parser": "^6.0.2" + }, + "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==", + "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==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.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==", + "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=" + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", + "requires": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==" + }, + "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": { + "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" + } + }, + "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": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "regjsparser": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz", + "integrity": "sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" + }, + "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=" + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "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": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "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==", + "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==", + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "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.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "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": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "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.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "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==" + }, + "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" + } + }, + "sass": { + "version": "1.32.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.4.tgz", + "integrity": "sha512-N0BT0PI/t3+gD8jKa83zJJUb7ssfQnRRfqN+GIErokW6U4guBpfYl8qYB+OFLEho+QvnV5ZH1R9qhUC/Z2Ch9w==", + "dev": true, + "requires": { + "chokidar": ">=2.0.0 <4.0.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "requires": { + "xmlchars": "^2.1.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "semver-regex": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", + "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "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" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-to-js": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.1.1.tgz", + "integrity": "sha512-F+NGU0UHMBO4Q965tjw7rvieNVjlH6Lqi2emq/Lc9LUURYJbiCzmpi4Cy1OOjjVPtxu0c+NE85LU6968Wko5ZA==" + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "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==", + "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=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "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=" + }, + "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 + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, + "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 + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "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==", + "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=", + "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=", + "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=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "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==", + "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=", + "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==", + "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==", + "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==", + "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==", + "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=", + "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==" + }, + "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==", + "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==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "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-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==", + "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=" + }, + "srcset": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-3.0.0.tgz", + "integrity": "sha512-D59vF08Qzu/C4GAOXVgMTLfgryt5fyWo93FZyhEWANo0PokFz/iWdDe13mX3O5TRf6l8vMTqckAfR4zPiaH0yQ==" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "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" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "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-eval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", + "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", + "requires": { + "escodegen": "^1.11.1" + }, + "dependencies": { + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "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=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "static-module": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", + "requires": { + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + } + } + }, + "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-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "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==", + "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" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.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==", + "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==", + "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==", + "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=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.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==" + }, + "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" + } + }, + "terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "requires": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + } + }, + "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" + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "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=" + }, + "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=", + "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=", + "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==", + "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": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "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==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "^2.1.0" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "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=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "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": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "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==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uncss": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", + "integrity": "sha512-ksdDWl81YWvF/X14fOSw4iu8tESDHFIeyKIeDrK6GEVTQvqJc1WlOEXqostNwOCi3qAj++4EaLsdAgPmUbEyog==", + "requires": { + "commander": "^2.20.0", + "glob": "^7.1.4", + "is-absolute-url": "^3.0.1", + "is-html": "^1.1.0", + "jsdom": "^14.1.0", + "lodash": "^4.17.15", + "postcss": "^7.0.17", + "postcss-selector-parser": "6.0.2", + "request": "^2.88.0" + }, + "dependencies": { + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" + }, + "unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "requires": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "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==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "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=", + "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=", + "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=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "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=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "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.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + } + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" + }, + "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" + } + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "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==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "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" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "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==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "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==" + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "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 + }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "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==" + }, + "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" + }, + "dependencies": { + "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" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "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": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "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==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "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" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f23f001 --- /dev/null +++ b/package.json @@ -0,0 +1,79 @@ +{ + "name": "coderscamp2020.project.typescript.chess", + "version": "1.0.0", + "description": "**UWAGA! Zaczynając pracę nad projektem — nie róbcie forka.\r Jedna osoba z zespołu (np. Mentor) powinna użyć przycisku `Use this template` i dodać innych członków zespołu jako Collaborators do tego repozytorium.\r Mentorzy mogą dowolnie zmieniać zakres projektu lub zdecydować się na zupełnie inny temat.**", + "main": "index.js", + "scripts": { + "clean": "rimraf .cache && rimraf coverage && rimraf dist && rimraf node_modules", + "prebuild": "rimraf dist", + "build": "parcel build index.html --public-url ./", + "format": "prettier --write \"src/**/*.js\" \"src/**/*.ts\" \"test/**/*.js\" \"test/**/*.ts\"", + "start:dev": "parcel -p 8765 watch index.html", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/nowakprojects/CodersCamp2020.Project.TypeScript.Chess.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/nowakprojects/CodersCamp2020.Project.TypeScript.Chess/issues" + }, + "homepage": "https://github.com/nowakprojects/CodersCamp2020.Project.TypeScript.Chess#readme", + "dependencies": { + "parcel": "^1.12.4", + "@types/jest": "^26.0.19", + "regenerator-runtime": "^0.13.7", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@babel/core": "^7.11.6", + "@babel/preset-env": "^7.11.5", + "@testing-library/dom": "^7.26.6", + "@testing-library/jest-dom": "^5.11.6", + "@testing-library/user-event": "^12.2.2", + "babel-jest": "^26.5.0", + "cssnano": "^4.1.10", + "husky": "^4.3.6", + "jest": "^26.4.2", + "jest-fetch-mock": "^3.0.3", + "msw": "^0.21.3", + "parcel-bundler": "^1.12.4", + "parcel-plugin-static-files-copy": "^2.5.0", + "prettier": "2.2.1", + "pretty-quick": "^3.1.0", + "rimraf": "^3.0.2", + "sass": "^1.30.0" + }, + "husky": { + "hooks": { + "pre-commit": "pretty-quick --staged" + } + }, + "jest": { + "moduleFileExtensions": [ + "js", + "json", + "ts" + ], + "testRegex": "(spec|test)[.]js", + "coverageDirectory": "../coverage", + "setupFiles": [ + "./test/setupJest.js" + ], + "collectCoverageFrom": [ + "./src/**" + ] + }, + "staticFiles": { + "staticPath": [ + { + "staticPath": "static", + "staticOutDir": "static" + } + ] + } +} diff --git a/sass/_main.scss b/sass/_main.scss new file mode 100644 index 0000000..b8df101 --- /dev/null +++ b/sass/_main.scss @@ -0,0 +1,14 @@ +body { + width: 100%; + height: 100%; + min-height: 100vh; + margin: 0; + padding-top: 1rem; + // color: $color-font--primary; + // font-family: $font-family--primary; + font-size: 10px; + // background-image: url('../static/assets/ui/QuizBackground.png'); + background-repeat: no-repeat; + background-position: center; + background-size: cover; +} diff --git a/sass/_mixins.scss b/sass/_mixins.scss new file mode 100644 index 0000000..63bf75d --- /dev/null +++ b/sass/_mixins.scss @@ -0,0 +1,12 @@ +@mixin brand-main-title { + // display: inline-block; + // position: relative; + // left: calc(0); + // padding: 18px 0; + // line-height: 38px; + // font-family: $font-family--primary; + // font-style: normal; + // font-weight: bold; + // font-size: 32px; + // letter-spacing: 0.02em; +} diff --git a/sass/_reset.scss b/sass/_reset.scss new file mode 100644 index 0000000..0f3f574 --- /dev/null +++ b/sass/_reset.scss @@ -0,0 +1,56 @@ +// * +// * nie dotykać - dobrze jest :) +// * NIE EDYTOWAĆ +// * + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +html { + font-size: 10px; + font-family: 'Roboto', sans-serif; +} + +body { + background-color: #fff; +} + +a, +h1, +h2, +h3, +h4, +h5, +h6 { + text-align: center; + color: inherit; + font-size: inherit; + font-family: inherit; + font-weight: inherit; + text-decoration: inherit; + cursor: default; +} + +span { + color: inherit; + font-size: inherit; + font-family: inherit; + font-weight: inherit; + text-decoration: inherit; + cursor: default; +} + +p { + text-align: left; + color: inherit; + font-size: inherit; + font-family: inherit; +} + +ol, +ul { + list-style-type: none; +} diff --git a/sass/_vars.scss b/sass/_vars.scss new file mode 100644 index 0000000..e69de29 diff --git a/sass/style.scss b/sass/style.scss new file mode 100644 index 0000000..d358257 --- /dev/null +++ b/sass/style.scss @@ -0,0 +1,10 @@ +// * NIE ZMIENIAĆ KOLEJNOŚCI! + +@import 'reset'; // reset standardowy +@import 'vars'; // ustawienie zmiennych +@import 'main'; // opisanie głównych elementów +@import 'mixins'; // miksins - główne + +// * COMPONENTY + +// * LAYOUTS diff --git a/src/app/App.ts b/src/app/App.ts new file mode 100644 index 0000000..31bb196 --- /dev/null +++ b/src/app/App.ts @@ -0,0 +1,3 @@ +export const App = () => { + console.log('cos'); +}; diff --git a/src/app/sdadsa.ts b/src/app/sdadsa.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..83f0a7f --- /dev/null +++ b/src/index.ts @@ -0,0 +1,6 @@ +import 'regenerator-runtime/runtime'; //async/await with Parcel +import { App } from './app/App'; + +import '../sass/style.scss'; + +window.onload = () => App(); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..29e7092 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,73 @@ +{ + "compileOnSave": true, + // https://dzone.com/articles/what-is-the-tsconfigjson-configuration-file + + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, + "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, + // "lib": [], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + // "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "./dist", // /* Redirect output structure to the directory. */, + "rootDir": "./src", // /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + "removeComments": true /* Do not emit comments to output. */, + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true /* Enable all strict type-checking options. */, + "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, + "strictNullChecks": true /* Enable strict null checks. */, + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true /* Skip type checking of declaration files. */, + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + } +} From 949b9c04173f12eee983c4085abf2ac2a6893d2c Mon Sep 17 00:00:00 2001 From: Pawel Date: Wed, 20 Jan 2021 19:43:44 +0100 Subject: [PATCH 003/134] more project settings --- .gitignore | 4 +- index.html | 2 +- package-lock.json | 1013 ++++++++++++++++++++++++++++++++++++++- package.json | 22 +- src/app/App.ts | 4 +- src/app/sdadsa.ts | 0 test/setupJest.ts | 6 + test/simpleTest.spec.ts | 5 + tsconfig.json | 27 +- 9 files changed, 1044 insertions(+), 39 deletions(-) delete mode 100644 src/app/sdadsa.ts create mode 100644 test/setupJest.ts create mode 100644 test/simpleTest.spec.ts diff --git a/.gitignore b/.gitignore index c3833b9..33bb60a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ node_modules .idea dist -.cachec -overage +.cache +coverage css .history diff --git a/index.html b/index.html index 633cc30..66774c2 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,6 @@ - + diff --git a/package-lock.json b/package-lock.json index bd5082f..4db8fc1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1053,6 +1053,57 @@ "minimist": "^1.2.0" } }, + "@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "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" + } + }, + "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.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "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 + } + } + }, "@iarna/toml": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", @@ -1375,6 +1426,7 @@ "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", @@ -1392,11 +1444,39 @@ "glob-to-regexp": "^0.3.0" } }, + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + } + } + }, "@nodelib/fs.stat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" }, + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + } + }, "@open-draft/until": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", @@ -1409,7 +1489,18 @@ "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", "requires": { "@parcel/utils": "^1.11.0", - "mkdirp": "^0.5.1" + "mkdirp": "^0.5.1", + "rimraf": "^2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } } }, "@parcel/logger": { @@ -1629,12 +1720,14 @@ "@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==" + "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": "*" } @@ -1643,6 +1736,7 @@ "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": "*" } @@ -1651,11 +1745,18 @@ "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.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -1665,7 +1766,8 @@ "@types/node": { "version": "14.14.21", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.21.tgz", - "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A==" + "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A==", + "dev": true }, "@types/normalize-package-data": { "version": "2.4.0", @@ -1709,6 +1811,7 @@ "version": "15.0.12", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "dev": true, "requires": { "@types/yargs-parser": "*" } @@ -1716,7 +1819,114 @@ "@types/yargs-parser": { "version": "20.2.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz", + "integrity": "sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.14.0", + "@typescript-eslint/scope-manager": "4.14.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "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" + } + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz", + "integrity": "sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz", + "integrity": "sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "debug": "^4.1.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz", + "integrity": "sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0" + } + }, + "@typescript-eslint/types": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz", + "integrity": "sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz", + "integrity": "sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "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" + } + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz", + "integrity": "sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.14.0", + "eslint-visitor-keys": "^2.0.0" + } }, "abab": { "version": "2.0.5", @@ -1744,6 +1954,12 @@ } } }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, "acorn-walk": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", @@ -1765,6 +1981,12 @@ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, + "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", @@ -1785,12 +2007,14 @@ "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -1943,6 +2167,12 @@ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", @@ -2347,6 +2577,15 @@ "node-releases": "^1.1.69" } }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -2477,6 +2716,7 @@ "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" @@ -2694,6 +2934,7 @@ "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" } @@ -3345,7 +3586,8 @@ "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==" + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true }, "diffie-hellman": { "version": "5.0.3", @@ -3364,6 +3606,24 @@ } } }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "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" + } + }, "dom-accessibility-api": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz", @@ -3444,6 +3704,12 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -3518,6 +3784,15 @@ "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" + } + }, "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", @@ -3601,11 +3876,282 @@ "source-map": "~0.6.1" } }, + "eslint": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.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.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "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.20", + "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": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "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.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.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" + }, + "dependencies": { + "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 + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "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 + } + } + }, "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" }, + "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.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.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 + } + } + }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", @@ -3621,6 +4167,21 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, "events": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", @@ -3860,6 +4421,15 @@ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" }, + "fastq": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -3869,6 +4439,15 @@ "bser": "2.1.1" } }, + "file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -3919,6 +4498,22 @@ "semver-regex": "^3.1.2" } }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -3957,6 +4552,12 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3977,6 +4578,12 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "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", @@ -4073,6 +4680,94 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, + "globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + }, + "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" + } + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + } + } + }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", @@ -4140,7 +4835,8 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "has-symbols": { "version": "1.0.1", @@ -5089,6 +5785,7 @@ "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", @@ -5358,7 +6055,8 @@ "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==" + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true }, "jest-haste-map": { "version": "26.6.2", @@ -5935,6 +6633,12 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, + "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", @@ -6119,6 +6823,12 @@ } } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -6133,6 +6843,12 @@ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -6546,6 +7262,12 @@ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" }, + "node-cleanup": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", + "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=", + "dev": true + }, "node-fetch": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", @@ -7329,6 +8051,15 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, "pbkdf2": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", @@ -8116,6 +8847,7 @@ "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", @@ -8256,6 +8988,12 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "promise-polyfill": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", @@ -8272,6 +9010,15 @@ "sisteransi": "^1.0.5" } }, + "ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "requires": { + "event-stream": "=3.3.4" + } + }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -8449,7 +9196,8 @@ "react-is": { "version": "17.0.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==" + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true }, "read-pkg": { "version": "5.2.0", @@ -8563,6 +9311,12 @@ "safe-regex": "^1.1.0" } }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, "regexpu-core": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", @@ -8674,6 +9428,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -8730,6 +9490,12 @@ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rgb-regex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", @@ -8764,6 +9530,12 @@ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, + "run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -8999,6 +9771,17 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -9177,6 +9960,15 @@ "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -9319,6 +10111,15 @@ "readable-stream": "^2.0.2" } }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, "stream-http": { "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", @@ -9331,6 +10132,12 @@ "xtend": "^4.0.0" } }, + "string-argv": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", + "integrity": "sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==", + "dev": true + }, "string-length": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", @@ -9442,6 +10249,12 @@ "min-indent": "^1.0.0" } }, + "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 + }, "stylehacks": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", @@ -9468,6 +10281,7 @@ "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" } @@ -9553,6 +10367,38 @@ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, + "table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "requires": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ajv": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, "terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -9584,12 +10430,24 @@ "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=", + "dev": true + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -9693,6 +10551,137 @@ "punycode": "^2.1.0" } }, + "ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "dev": true, + "requires": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "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" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + } + } + }, + "tsc-watch": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-4.2.9.tgz", + "integrity": "sha512-DlTaoDs74+KUpyWr7dCGhuscAUKCz6CiFduBN7R9RbLJSSN1moWdwoCLASE7+zLgGvV5AwXfYDiEMAsPGaO+Vw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "node-cleanup": "^2.1.2", + "ps-tree": "^1.2.0", + "string-argv": "^0.1.1", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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" + } + }, + "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 + }, + "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 + }, + "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" + } + }, + "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" + } + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", + "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -9745,6 +10734,12 @@ "is-typedarray": "^1.0.0" } }, + "typescript": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "dev": true + }, "uncss": { "version": "0.17.3", "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", diff --git a/package.json b/package.json index f23f001..8ef0820 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,14 @@ { "name": "coderscamp2020.project.typescript.chess", "version": "1.0.0", - "description": "**UWAGA! Zaczynając pracę nad projektem — nie róbcie forka.\r Jedna osoba z zespołu (np. Mentor) powinna użyć przycisku `Use this template` i dodać innych członków zespołu jako Collaborators do tego repozytorium.\r Mentorzy mogą dowolnie zmieniać zakres projektu lub zdecydować się na zupełnie inny temat.**", + "description": "", "main": "index.js", "scripts": { "clean": "rimraf .cache && rimraf coverage && rimraf dist && rimraf node_modules", "prebuild": "rimraf dist", - "build": "parcel build index.html --public-url ./", + "build": "rm -rf dist && tsc --noEmit && parcel build index.html", "format": "prettier --write \"src/**/*.js\" \"src/**/*.ts\" \"test/**/*.js\" \"test/**/*.ts\"", - "start:dev": "parcel -p 8765 watch index.html", + "start": "parcel -p 8765 index.html --open", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage" @@ -25,7 +25,6 @@ "homepage": "https://github.com/nowakprojects/CodersCamp2020.Project.TypeScript.Chess#readme", "dependencies": { "parcel": "^1.12.4", - "@types/jest": "^26.0.19", "regenerator-runtime": "^0.13.7", "uuid": "^8.3.0" }, @@ -35,10 +34,14 @@ "@testing-library/dom": "^7.26.6", "@testing-library/jest-dom": "^5.11.6", "@testing-library/user-event": "^12.2.2", + "@types/jest": "^26.0.20", + "@typescript-eslint/eslint-plugin": "^4.14.0", + "@typescript-eslint/parser": "^4.14.0", "babel-jest": "^26.5.0", "cssnano": "^4.1.10", + "eslint": "^7.18.0", "husky": "^4.3.6", - "jest": "^26.4.2", + "jest": "^26.6.3", "jest-fetch-mock": "^3.0.3", "msw": "^0.21.3", "parcel-bundler": "^1.12.4", @@ -46,7 +49,10 @@ "prettier": "2.2.1", "pretty-quick": "^3.1.0", "rimraf": "^3.0.2", - "sass": "^1.30.0" + "sass": "^1.30.0", + "ts-jest": "^26.4.4", + "tsc-watch": "^4.2.9", + "typescript": "^4.1.3" }, "husky": { "hooks": { @@ -59,10 +65,10 @@ "json", "ts" ], - "testRegex": "(spec|test)[.]js", + "testRegex": "(spec|test)[.]ts", "coverageDirectory": "../coverage", "setupFiles": [ - "./test/setupJest.js" + "./test/setupJest.ts" ], "collectCoverageFrom": [ "./src/**" diff --git a/src/app/App.ts b/src/app/App.ts index 31bb196..ae1ec61 100644 --- a/src/app/App.ts +++ b/src/app/App.ts @@ -1,3 +1 @@ -export const App = () => { - console.log('cos'); -}; +export const App = () => {}; diff --git a/src/app/sdadsa.ts b/src/app/sdadsa.ts deleted file mode 100644 index e69de29..0000000 diff --git a/test/setupJest.ts b/test/setupJest.ts new file mode 100644 index 0000000..97e5095 --- /dev/null +++ b/test/setupJest.ts @@ -0,0 +1,6 @@ +import 'regenerator-runtime/runtime'; //async/await with Parcel + +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; diff --git a/test/simpleTest.spec.ts b/test/simpleTest.spec.ts new file mode 100644 index 0000000..dda0a32 --- /dev/null +++ b/test/simpleTest.spec.ts @@ -0,0 +1,5 @@ +describe('Simple test', () => { + it('return true', () => { + expect(true); + }); +}); diff --git a/tsconfig.json b/tsconfig.json index 29e7092..d684a35 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,10 +1,5 @@ { - "compileOnSave": true, - // https://dzone.com/articles/what-is-the-tsconfigjson-configuration-file - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - /* Basic Options */ // "incremental": true, /* Enable incremental compilation */ "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, @@ -15,10 +10,10 @@ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ // "declaration": true, /* Generates corresponding '.d.ts' file. */ // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ + "sourceMap": true /* Generates corresponding '.map' file. */, // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./dist", // /* Redirect output structure to the directory. */, - "rootDir": "./src", // /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, + "outDir": "./dist" /* Redirect output structure to the directory. */, + "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, // "composite": true, /* Enable project compilation */ // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ "removeComments": true /* Do not emit comments to output. */, @@ -26,11 +21,12 @@ // "importHelpers": true, /* Import emit helpers from 'tslib'. */ // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + "noEmitOnError": true /* Do not emit JS file when TS file got an error */, /* Strict Type-Checking Options */ "strict": true /* Enable all strict type-checking options. */, - "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, - "strictNullChecks": true /* Enable strict null checks. */, + // "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true /* Enable strict null checks. */ // "strictFunctionTypes": true, /* Enable strict checking of function types. */ // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ @@ -52,7 +48,7 @@ // "typeRoots": [], /* List of folders to include type definitions from. */ // "types": [], /* Type declaration files to be included in compilation. */ // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ @@ -65,9 +61,8 @@ /* Experimental Options */ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true /* Skip type checking of declaration files. */, - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - } + }, + /* Advanced Options */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, + "skipLibCheck": true /* Skip type checking of declaration files. */ } From 8c387358386756b4ac5fcb0b006eef539e68a8b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Wed, 20 Jan 2021 21:27:42 +0100 Subject: [PATCH 004/134] Add project settings (ESLint, tsconfig, ts-jest, prettier) --- .eslintrc.js | 20 + .gitignore | 4 +- .prettierrc | 3 +- index.html | 2 +- package-lock.json | 1017 ++++++++++++++++++++++++++++++++++++++- package.json | 27 +- src/app/App.ts | 4 +- src/app/sdadsa.ts | 0 test/setupJest.ts | 6 + test/simpleTest.spec.ts | 5 + tsconfig.json | 27 +- 11 files changed, 1072 insertions(+), 43 deletions(-) create mode 100644 .eslintrc.js delete mode 100644 src/app/sdadsa.ts create mode 100644 test/setupJest.ts create mode 100644 test/simpleTest.spec.ts diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..2c26558 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,20 @@ +module.exports = { + parser: '@typescript-eslint/parser', + parserOptions: { + project: 'tsconfig.json', + sourceType: 'module', + }, + plugins: ['@typescript-eslint/eslint-plugin'], + extends: [ + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended', + 'prettier', + 'prettier/@typescript-eslint', + ], + root: true, + env: { + node: false, + jest: true, + }, + rules: {}, +}; diff --git a/.gitignore b/.gitignore index c3833b9..33bb60a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ node_modules .idea dist -.cachec -overage +.cache +coverage css .history diff --git a/.prettierrc b/.prettierrc index cf9f4b2..87f3e85 100644 --- a/.prettierrc +++ b/.prettierrc @@ -2,5 +2,6 @@ "singleQuote": true, "trailingComma": "all", "tabWidth": 2, - "semi": true + "semi": true, + "printWidth": 140 } diff --git a/index.html b/index.html index 633cc30..66774c2 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,6 @@ - + diff --git a/package-lock.json b/package-lock.json index bd5082f..6574a5f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1053,6 +1053,57 @@ "minimist": "^1.2.0" } }, + "@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "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" + } + }, + "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.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "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 + } + } + }, "@iarna/toml": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", @@ -1375,6 +1426,7 @@ "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", @@ -1392,11 +1444,39 @@ "glob-to-regexp": "^0.3.0" } }, + "@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + } + } + }, "@nodelib/fs.stat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" }, + "@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + } + }, "@open-draft/until": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", @@ -1409,7 +1489,18 @@ "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", "requires": { "@parcel/utils": "^1.11.0", - "mkdirp": "^0.5.1" + "mkdirp": "^0.5.1", + "rimraf": "^2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } } }, "@parcel/logger": { @@ -1629,12 +1720,14 @@ "@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==" + "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": "*" } @@ -1643,6 +1736,7 @@ "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": "*" } @@ -1651,11 +1745,18 @@ "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.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -1663,9 +1764,10 @@ "dev": true }, "@types/node": { - "version": "14.14.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.21.tgz", - "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A==" + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", + "dev": true }, "@types/normalize-package-data": { "version": "2.4.0", @@ -1709,6 +1811,7 @@ "version": "15.0.12", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "dev": true, "requires": { "@types/yargs-parser": "*" } @@ -1716,7 +1819,114 @@ "@types/yargs-parser": { "version": "20.2.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz", + "integrity": "sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.14.0", + "@typescript-eslint/scope-manager": "4.14.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "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" + } + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz", + "integrity": "sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz", + "integrity": "sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "debug": "^4.1.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz", + "integrity": "sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0" + } + }, + "@typescript-eslint/types": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz", + "integrity": "sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz", + "integrity": "sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "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" + } + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz", + "integrity": "sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.14.0", + "eslint-visitor-keys": "^2.0.0" + } }, "abab": { "version": "2.0.5", @@ -1744,6 +1954,12 @@ } } }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, "acorn-walk": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", @@ -1765,6 +1981,12 @@ "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, + "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", @@ -1785,12 +2007,14 @@ "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -1943,6 +2167,12 @@ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", @@ -2347,6 +2577,15 @@ "node-releases": "^1.1.69" } }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -2477,6 +2716,7 @@ "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" @@ -2694,6 +2934,7 @@ "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" } @@ -3345,7 +3586,8 @@ "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==" + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true }, "diffie-hellman": { "version": "5.0.3", @@ -3364,6 +3606,24 @@ } } }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "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" + } + }, "dom-accessibility-api": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz", @@ -3444,6 +3704,12 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -3518,6 +3784,15 @@ "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" + } + }, "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", @@ -3601,11 +3876,282 @@ "source-map": "~0.6.1" } }, + "eslint": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.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.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "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.20", + "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": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "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.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.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" + }, + "dependencies": { + "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 + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "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 + } + } + }, "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" }, + "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.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.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 + } + } + }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", @@ -3621,6 +4167,21 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, "events": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", @@ -3860,6 +4421,15 @@ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" }, + "fastq": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "fb-watchman": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", @@ -3869,6 +4439,15 @@ "bser": "2.1.1" } }, + "file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -3919,6 +4498,22 @@ "semver-regex": "^3.1.2" } }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -3957,6 +4552,12 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3977,6 +4578,12 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "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", @@ -4073,6 +4680,94 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, + "globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true + }, + "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" + } + }, + "fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + } + } + }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", @@ -4140,7 +4835,8 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "has-symbols": { "version": "1.0.1", @@ -5089,6 +5785,7 @@ "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", @@ -5358,7 +6055,8 @@ "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==" + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true }, "jest-haste-map": { "version": "26.6.2", @@ -5935,6 +6633,12 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, + "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", @@ -6119,6 +6823,12 @@ } } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -6133,6 +6843,12 @@ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -6546,6 +7262,12 @@ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" }, + "node-cleanup": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", + "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=", + "dev": true + }, "node-fetch": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", @@ -7329,6 +8051,15 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "requires": { + "through": "~2.3" + } + }, "pbkdf2": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", @@ -8116,6 +8847,7 @@ "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", @@ -8256,6 +8988,12 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "promise-polyfill": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", @@ -8272,6 +9010,15 @@ "sisteransi": "^1.0.5" } }, + "ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "requires": { + "event-stream": "=3.3.4" + } + }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -8449,7 +9196,8 @@ "react-is": { "version": "17.0.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==" + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==", + "dev": true }, "read-pkg": { "version": "5.2.0", @@ -8563,6 +9311,12 @@ "safe-regex": "^1.1.0" } }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, "regexpu-core": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", @@ -8674,6 +9428,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -8730,6 +9490,12 @@ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rgb-regex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", @@ -8764,6 +9530,12 @@ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, + "run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -8999,6 +9771,17 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -9177,6 +9960,15 @@ "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -9319,6 +10111,15 @@ "readable-stream": "^2.0.2" } }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, "stream-http": { "version": "2.8.3", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", @@ -9331,6 +10132,12 @@ "xtend": "^4.0.0" } }, + "string-argv": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", + "integrity": "sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==", + "dev": true + }, "string-length": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", @@ -9442,6 +10249,12 @@ "min-indent": "^1.0.0" } }, + "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 + }, "stylehacks": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", @@ -9468,6 +10281,7 @@ "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" } @@ -9553,6 +10367,38 @@ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, + "table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "requires": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ajv": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, "terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -9584,12 +10430,24 @@ "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=", + "dev": true + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -9693,6 +10551,137 @@ "punycode": "^2.1.0" } }, + "ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "dev": true, + "requires": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "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" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + } + } + }, + "tsc-watch": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-4.2.9.tgz", + "integrity": "sha512-DlTaoDs74+KUpyWr7dCGhuscAUKCz6CiFduBN7R9RbLJSSN1moWdwoCLASE7+zLgGvV5AwXfYDiEMAsPGaO+Vw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "node-cleanup": "^2.1.2", + "ps-tree": "^1.2.0", + "string-argv": "^0.1.1", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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" + } + }, + "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 + }, + "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 + }, + "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" + } + }, + "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" + } + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", + "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -9745,6 +10734,12 @@ "is-typedarray": "^1.0.0" } }, + "typescript": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "dev": true + }, "uncss": { "version": "0.17.3", "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", diff --git a/package.json b/package.json index f23f001..8c16037 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,13 @@ { "name": "coderscamp2020.project.typescript.chess", "version": "1.0.0", - "description": "**UWAGA! Zaczynając pracę nad projektem — nie róbcie forka.\r Jedna osoba z zespołu (np. Mentor) powinna użyć przycisku `Use this template` i dodać innych członków zespołu jako Collaborators do tego repozytorium.\r Mentorzy mogą dowolnie zmieniać zakres projektu lub zdecydować się na zupełnie inny temat.**", - "main": "index.js", + "description": "", "scripts": { "clean": "rimraf .cache && rimraf coverage && rimraf dist && rimraf node_modules", "prebuild": "rimraf dist", "build": "parcel build index.html --public-url ./", "format": "prettier --write \"src/**/*.js\" \"src/**/*.ts\" \"test/**/*.js\" \"test/**/*.ts\"", - "start:dev": "parcel -p 8765 watch index.html", + "start:dev": "parcel -p 7575 index.html --open", "test": "jest", "test:watch": "jest --watch", "test:cov": "jest --coverage" @@ -25,7 +24,6 @@ "homepage": "https://github.com/nowakprojects/CodersCamp2020.Project.TypeScript.Chess#readme", "dependencies": { "parcel": "^1.12.4", - "@types/jest": "^26.0.19", "regenerator-runtime": "^0.13.7", "uuid": "^8.3.0" }, @@ -35,10 +33,15 @@ "@testing-library/dom": "^7.26.6", "@testing-library/jest-dom": "^5.11.6", "@testing-library/user-event": "^12.2.2", + "@types/jest": "^26.0.20", + "@types/node": "^14.14.22", + "@typescript-eslint/eslint-plugin": "^4.14.0", + "@typescript-eslint/parser": "^4.14.0", "babel-jest": "^26.5.0", "cssnano": "^4.1.10", + "eslint": "^7.18.0", "husky": "^4.3.6", - "jest": "^26.4.2", + "jest": "^26.6.3", "jest-fetch-mock": "^3.0.3", "msw": "^0.21.3", "parcel-bundler": "^1.12.4", @@ -46,7 +49,10 @@ "prettier": "2.2.1", "pretty-quick": "^3.1.0", "rimraf": "^3.0.2", - "sass": "^1.30.0" + "sass": "^1.30.0", + "ts-jest": "^26.4.4", + "tsc-watch": "^4.2.9", + "typescript": "^4.1.3" }, "husky": { "hooks": { @@ -59,14 +65,17 @@ "json", "ts" ], - "testRegex": "(spec|test)[.]js", + "testRegex": "(spec|test)[.]ts", "coverageDirectory": "../coverage", "setupFiles": [ - "./test/setupJest.js" + "./test/setupJest.ts" ], "collectCoverageFrom": [ "./src/**" - ] + ], + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + } }, "staticFiles": { "staticPath": [ diff --git a/src/app/App.ts b/src/app/App.ts index 31bb196..ae1ec61 100644 --- a/src/app/App.ts +++ b/src/app/App.ts @@ -1,3 +1 @@ -export const App = () => { - console.log('cos'); -}; +export const App = () => {}; diff --git a/src/app/sdadsa.ts b/src/app/sdadsa.ts deleted file mode 100644 index e69de29..0000000 diff --git a/test/setupJest.ts b/test/setupJest.ts new file mode 100644 index 0000000..97e5095 --- /dev/null +++ b/test/setupJest.ts @@ -0,0 +1,6 @@ +import 'regenerator-runtime/runtime'; //async/await with Parcel + +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', +}; diff --git a/test/simpleTest.spec.ts b/test/simpleTest.spec.ts new file mode 100644 index 0000000..dda0a32 --- /dev/null +++ b/test/simpleTest.spec.ts @@ -0,0 +1,5 @@ +describe('Simple test', () => { + it('return true', () => { + expect(true); + }); +}); diff --git a/tsconfig.json b/tsconfig.json index 29e7092..2314fa0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,10 +1,5 @@ { - "compileOnSave": true, - // https://dzone.com/articles/what-is-the-tsconfigjson-configuration-file - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - /* Basic Options */ // "incremental": true, /* Enable incremental compilation */ "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, @@ -15,10 +10,10 @@ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ // "declaration": true, /* Generates corresponding '.d.ts' file. */ // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ + "sourceMap": true /* Generates corresponding '.map' file. */, // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./dist", // /* Redirect output structure to the directory. */, - "rootDir": "./src", // /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, + "outDir": "./dist" /* Redirect output structure to the directory. */, + // "rootDir": "./" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, // "composite": true, /* Enable project compilation */ // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ "removeComments": true /* Do not emit comments to output. */, @@ -26,11 +21,12 @@ // "importHelpers": true, /* Import emit helpers from 'tslib'. */ // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + "noEmitOnError": true /* Do not emit JS file when TS file got an error */, /* Strict Type-Checking Options */ "strict": true /* Enable all strict type-checking options. */, - "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, - "strictNullChecks": true /* Enable strict null checks. */, + // "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true /* Enable strict null checks. */ // "strictFunctionTypes": true, /* Enable strict checking of function types. */ // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ @@ -52,7 +48,7 @@ // "typeRoots": [], /* List of folders to include type definitions from. */ // "types": [], /* Type declaration files to be included in compilation. */ // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ @@ -65,9 +61,8 @@ /* Experimental Options */ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "skipLibCheck": true /* Skip type checking of declaration files. */, - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - } + }, + /* Advanced Options */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, + "skipLibCheck": true /* Skip type checking of declaration files. */ } From df33b5d260e713a3138567503d2c92f16300fc32 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Wed, 20 Jan 2021 21:37:47 +0100 Subject: [PATCH 005/134] Init Model-View-Presenter structure --- src/app/model/.gitkeep | 0 src/app/presenter/.gitkeep | 0 src/app/view/.gitkeep | 0 test/app/model/.gitkeep | 0 test/app/presenter/.gitkeep | 0 test/app/view/.gitkeep | 0 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/app/model/.gitkeep create mode 100644 src/app/presenter/.gitkeep create mode 100644 src/app/view/.gitkeep create mode 100644 test/app/model/.gitkeep create mode 100644 test/app/presenter/.gitkeep create mode 100644 test/app/view/.gitkeep diff --git a/src/app/model/.gitkeep b/src/app/model/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/app/presenter/.gitkeep b/src/app/presenter/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src/app/view/.gitkeep b/src/app/view/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/test/app/model/.gitkeep b/test/app/model/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/test/app/presenter/.gitkeep b/test/app/presenter/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/test/app/view/.gitkeep b/test/app/view/.gitkeep new file mode 100644 index 0000000..e69de29 From b12f4d92e204e489a9750e9b81871aab49ecef9b Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Wed, 20 Jan 2021 22:28:26 +0100 Subject: [PATCH 006/134] Init Model-View-Presenter structure --- src/app/view/ChessBoardView.ts | 19 +++++++++++++++++++ src/app/view/GameCommentsView.ts | 1 + src/app/view/PieceComponent.ts | 4 ++++ src/app/view/WebChessBoardView.ts | 5 +++++ .../ChessBoardViewShowPieceOnSquare.spec.ts | 11 +++++++++++ 5 files changed, 40 insertions(+) create mode 100644 src/app/view/ChessBoardView.ts create mode 100644 src/app/view/GameCommentsView.ts create mode 100644 src/app/view/PieceComponent.ts create mode 100644 src/app/view/WebChessBoardView.ts create mode 100644 test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts diff --git a/src/app/view/ChessBoardView.ts b/src/app/view/ChessBoardView.ts new file mode 100644 index 0000000..2ab7978 --- /dev/null +++ b/src/app/view/ChessBoardView.ts @@ -0,0 +1,19 @@ +type Square = { + id: string; +}; + +enum Side { + WHITE = 'WHITE', + BLACK = 'BLACK', +} + +type Piece = { name: string; side: Side }; + +interface ChessBoardView { + showPieceOn(square: Square, piece: Piece): void; + + removePieceFrom(square: Square): void; + + //showAvailableMoves + //showSelectedPiece +} diff --git a/src/app/view/GameCommentsView.ts b/src/app/view/GameCommentsView.ts new file mode 100644 index 0000000..13d4e21 --- /dev/null +++ b/src/app/view/GameCommentsView.ts @@ -0,0 +1 @@ +interface GameCommentsView {} diff --git a/src/app/view/PieceComponent.ts b/src/app/view/PieceComponent.ts new file mode 100644 index 0000000..46e94a2 --- /dev/null +++ b/src/app/view/PieceComponent.ts @@ -0,0 +1,4 @@ +export const PieceComponent = (piece: Piece) => { + const component = document.createElement('div'); + return component; +}; diff --git a/src/app/view/WebChessBoardView.ts b/src/app/view/WebChessBoardView.ts new file mode 100644 index 0000000..b6fd155 --- /dev/null +++ b/src/app/view/WebChessBoardView.ts @@ -0,0 +1,5 @@ +export class WebChessBoardView implements ChessBoardView { + removePieceFrom(square: Square): void {} + + showPieceOn(square: Square): void {} +} diff --git a/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts b/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts new file mode 100644 index 0000000..57d6432 --- /dev/null +++ b/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts @@ -0,0 +1,11 @@ +import { WebChessBoardView } from '../../../src/app/view/WebChessBoardView'; +import { screen } from '@testing-library/dom'; +import { PieceComponent } from '../../../src/app/view/PieceComponent'; + +xit('Showing piece on square', () => { + const chessBoardView: ChessBoardView = new WebChessBoardView(); + + chessBoardView.showPieceOn({ id: 'A1' }, { name: 'Pawn', side: Side.WHITE }); + + expect(screen.getByTestId('A1')).toContainElement(PieceComponent({ name: 'Pawn', side: Side.WHITE })); +}); From 8b5da92b3f96b77d776c6caaeaf26d4e8c16dd54 Mon Sep 17 00:00:00 2001 From: Tomek <50457289+tomdworniczak@users.noreply.github.com> Date: Thu, 21 Jan 2021 12:59:47 +0100 Subject: [PATCH 007/134] Create node.js.yml --- .github/workflows/node.js.yml | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/node.js.yml diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml new file mode 100644 index 0000000..245f633 --- /dev/null +++ b/.github/workflows/node.js.yml @@ -0,0 +1,49 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Node.js CI + +on: + push: + paths-ignore: + - '**/*.md' + +jobs: + build: + name: 'Build Ancient Egypt Chess application' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: 14.x + - run: npm ci + - run: npm run build --if-present + - run: npm test + - uses: actions/upload-artifact@v1 + name: Upload build as artifact + if: always() + with: + name: chess-dist + path: ./dist + deploy-on-github-pages: + name: 'Deploy app to GitHub Pages from develop branch source code' + if: github.ref == 'refs/heads/develop' + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v2 + with: + name: chess-dist + path: ./dist + - name: Deploy app as GitHub Pages + uses: peaceiris/actions-gh-pages@v3.7.0-6 + if: ${{ github.event_name != 'pull_request' && always() }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: './dist' + user_name: 'github-actions[bot]' + user_email: 'github-actions[bot]@users.noreply.github.com' + force_orphan: true + keep_files: false From aacc1bb0f66d63a2a2b4322f9f1ed833a8c6f923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Fri, 22 Jan 2021 19:52:06 +0100 Subject: [PATCH 008/134] Additional checks settings (#15) * more project settings * fixes to settings * add ESLint * additional checks for ts code --- tsconfig.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index 2314fa0..0b0fce5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -34,11 +34,11 @@ // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + "noUnusedLocals": true /* Report errors on unused locals. */, + "noUnusedParameters": true /* Report errors on unused parameters. */, + "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, + "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, + "noUncheckedIndexedAccess": true /* Include 'undefined' in index signature results */, /* Module Resolution Options */ // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ From 2943c0428896fd689142107f704728c456f10f44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Fri, 22 Jan 2021 20:43:31 +0100 Subject: [PATCH 009/134] Revert "Additional checks settings (#15)" (#19) This reverts commit aacc1bb0f66d63a2a2b4322f9f1ed833a8c6f923. --- tsconfig.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index 0b0fce5..2314fa0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -34,11 +34,11 @@ // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ /* Additional Checks */ - "noUnusedLocals": true /* Report errors on unused locals. */, - "noUnusedParameters": true /* Report errors on unused parameters. */, - "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, - "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, - "noUncheckedIndexedAccess": true /* Include 'undefined' in index signature results */, + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ /* Module Resolution Options */ // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ From e58d1216253649315cdeddde24868910019e4714 Mon Sep 17 00:00:00 2001 From: lamparina <59768305+lamparina@users.noreply.github.com> Date: Fri, 22 Jan 2021 22:34:04 +0100 Subject: [PATCH 010/134] =?UTF-8?q?=20#5=20Stworzenie=20obrazk=C3=B3w=20fi?= =?UTF-8?q?gur=20(#18)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: lamparina --- static/img/pieces/black-bishop.svg | 2 ++ static/img/pieces/black-king.svg | 1 + static/img/pieces/black-knight.svg | 1 + static/img/pieces/black-pawn.svg | 2 ++ static/img/pieces/black-queen.svg | 2 ++ static/img/pieces/black-rook.svg | 2 ++ static/img/pieces/white-bishop.svg | 11 +++++++++++ static/img/pieces/white-king.svg | 21 +++++++++++++++++++++ static/img/pieces/white-knight.svg | 7 +++++++ static/img/pieces/white-pawn.svg | 7 +++++++ static/img/pieces/white-queen.svg | 11 +++++++++++ static/img/pieces/white-rook.svg | 9 +++++++++ 12 files changed, 76 insertions(+) create mode 100644 static/img/pieces/black-bishop.svg create mode 100644 static/img/pieces/black-king.svg create mode 100644 static/img/pieces/black-knight.svg create mode 100644 static/img/pieces/black-pawn.svg create mode 100644 static/img/pieces/black-queen.svg create mode 100644 static/img/pieces/black-rook.svg create mode 100644 static/img/pieces/white-bishop.svg create mode 100644 static/img/pieces/white-king.svg create mode 100644 static/img/pieces/white-knight.svg create mode 100644 static/img/pieces/white-pawn.svg create mode 100644 static/img/pieces/white-queen.svg create mode 100644 static/img/pieces/white-rook.svg diff --git a/static/img/pieces/black-bishop.svg b/static/img/pieces/black-bishop.svg new file mode 100644 index 0000000..b240664 --- /dev/null +++ b/static/img/pieces/black-bishop.svg @@ -0,0 +1,2 @@ + + diff --git a/static/img/pieces/black-king.svg b/static/img/pieces/black-king.svg new file mode 100644 index 0000000..aac2cae --- /dev/null +++ b/static/img/pieces/black-king.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/pieces/black-knight.svg b/static/img/pieces/black-knight.svg new file mode 100644 index 0000000..d996a20 --- /dev/null +++ b/static/img/pieces/black-knight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/pieces/black-pawn.svg b/static/img/pieces/black-pawn.svg new file mode 100644 index 0000000..670c0d4 --- /dev/null +++ b/static/img/pieces/black-pawn.svg @@ -0,0 +1,2 @@ + + diff --git a/static/img/pieces/black-queen.svg b/static/img/pieces/black-queen.svg new file mode 100644 index 0000000..f404867 --- /dev/null +++ b/static/img/pieces/black-queen.svg @@ -0,0 +1,2 @@ + + diff --git a/static/img/pieces/black-rook.svg b/static/img/pieces/black-rook.svg new file mode 100644 index 0000000..f175150 --- /dev/null +++ b/static/img/pieces/black-rook.svg @@ -0,0 +1,2 @@ + + diff --git a/static/img/pieces/white-bishop.svg b/static/img/pieces/white-bishop.svg new file mode 100644 index 0000000..696b06f --- /dev/null +++ b/static/img/pieces/white-bishop.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/static/img/pieces/white-king.svg b/static/img/pieces/white-king.svg new file mode 100644 index 0000000..5ddd907 --- /dev/null +++ b/static/img/pieces/white-king.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/pieces/white-knight.svg b/static/img/pieces/white-knight.svg new file mode 100644 index 0000000..69d9d3a --- /dev/null +++ b/static/img/pieces/white-knight.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/static/img/pieces/white-pawn.svg b/static/img/pieces/white-pawn.svg new file mode 100644 index 0000000..9bd721b --- /dev/null +++ b/static/img/pieces/white-pawn.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/static/img/pieces/white-queen.svg b/static/img/pieces/white-queen.svg new file mode 100644 index 0000000..202f883 --- /dev/null +++ b/static/img/pieces/white-queen.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/static/img/pieces/white-rook.svg b/static/img/pieces/white-rook.svg new file mode 100644 index 0000000..5c9431f --- /dev/null +++ b/static/img/pieces/white-rook.svg @@ -0,0 +1,9 @@ + + + + + + + + + From 19831900e60145130f7dd044ddaa8da2c08c7321 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sun, 24 Jan 2021 01:06:44 +0100 Subject: [PATCH 011/134] Fix | Add missing export / imports in view and tests --- src/app/view/ChessBoardView.ts | 10 ++++++---- src/app/view/GameCommentsView.ts | 2 +- src/app/view/PieceComponent.ts | 2 ++ src/app/view/WebChessBoardView.ts | 2 ++ test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts | 1 + 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/app/view/ChessBoardView.ts b/src/app/view/ChessBoardView.ts index 2ab7978..2dcf085 100644 --- a/src/app/view/ChessBoardView.ts +++ b/src/app/view/ChessBoardView.ts @@ -1,15 +1,17 @@ -type Square = { +//Nie przywiazujcie sie do tego kodu. Mozecie sprobowac wszystko pozmieniac / zrobic inaczej. + +export type Square = { id: string; }; -enum Side { +export enum Side { WHITE = 'WHITE', BLACK = 'BLACK', } -type Piece = { name: string; side: Side }; +export type Piece = { name: string; side: Side }; -interface ChessBoardView { +export interface ChessBoardView { showPieceOn(square: Square, piece: Piece): void; removePieceFrom(square: Square): void; diff --git a/src/app/view/GameCommentsView.ts b/src/app/view/GameCommentsView.ts index 13d4e21..ac4d312 100644 --- a/src/app/view/GameCommentsView.ts +++ b/src/app/view/GameCommentsView.ts @@ -1 +1 @@ -interface GameCommentsView {} +export interface GameCommentsView {} diff --git a/src/app/view/PieceComponent.ts b/src/app/view/PieceComponent.ts index 46e94a2..2d02366 100644 --- a/src/app/view/PieceComponent.ts +++ b/src/app/view/PieceComponent.ts @@ -1,3 +1,5 @@ +import { Piece } from './ChessBoardView'; + export const PieceComponent = (piece: Piece) => { const component = document.createElement('div'); return component; diff --git a/src/app/view/WebChessBoardView.ts b/src/app/view/WebChessBoardView.ts index b6fd155..cac648f 100644 --- a/src/app/view/WebChessBoardView.ts +++ b/src/app/view/WebChessBoardView.ts @@ -1,3 +1,5 @@ +import { ChessBoardView, Square } from './ChessBoardView'; + export class WebChessBoardView implements ChessBoardView { removePieceFrom(square: Square): void {} diff --git a/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts b/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts index 57d6432..82f2e18 100644 --- a/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts +++ b/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts @@ -1,6 +1,7 @@ import { WebChessBoardView } from '../../../src/app/view/WebChessBoardView'; import { screen } from '@testing-library/dom'; import { PieceComponent } from '../../../src/app/view/PieceComponent'; +import { ChessBoardView, Side } from '../../../src/app/view/ChessBoardView'; xit('Showing piece on square', () => { const chessBoardView: ChessBoardView = new WebChessBoardView(); From d31d992ccaea570addbade57322daa5772a6b21e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Tue, 26 Jan 2021 23:45:10 +0100 Subject: [PATCH 012/134] Feature/#17 possible moves for rock (#20) with some interfaces, types and constances --- package-lock.json | 302 +++++++++++++++++++++++++++++++++ package.json | 3 +- src/app/model/Board.ts | 6 + src/app/model/Constances.ts | 1 + src/app/model/Piece.ts | 5 + src/app/model/PieceMovement.ts | 6 + src/app/model/Rook.ts | 92 ++++++++++ src/app/model/Types.ts | 5 + test/app/model/Rook.spec.ts | 89 ++++++++++ 9 files changed, 508 insertions(+), 1 deletion(-) create mode 100644 src/app/model/Board.ts create mode 100644 src/app/model/Constances.ts create mode 100644 src/app/model/Piece.ts create mode 100644 src/app/model/PieceMovement.ts create mode 100644 src/app/model/Rook.ts create mode 100644 src/app/model/Types.ts create mode 100644 test/app/model/Rook.spec.ts diff --git a/package-lock.json b/package-lock.json index 6574a5f..8850d7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6042,6 +6042,308 @@ "jest-util": "^26.6.2" } }, + "jest-extended": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-0.11.5.tgz", + "integrity": "sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q==", + "dev": true, + "requires": { + "expect": "^24.1.0", + "jest-get-type": "^22.4.3", + "jest-matcher-utils": "^22.0.0" + }, + "dependencies": { + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "requires": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + } + }, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "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 + }, + "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" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "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 + }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true + }, + "expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + }, + "dependencies": { + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true + }, + "jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "dependencies": { + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true + } + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", + "dev": true + }, + "jest-matcher-utils": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", + "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-get-type": "^22.4.3", + "pretty-format": "^22.4.3" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "pretty-format": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", + "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + } + } + }, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + } + }, + "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 + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "stack-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", + "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "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 + } + } + }, + "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" + } + } + } + }, "jest-fetch-mock": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", diff --git a/package.json b/package.json index 8c16037..994b56f 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "scripts": { "clean": "rimraf .cache && rimraf coverage && rimraf dist && rimraf node_modules", "prebuild": "rimraf dist", - "build": "parcel build index.html --public-url ./", + "build": "rm -rf dist && tsc --noEmit && parcel build index.html", "format": "prettier --write \"src/**/*.js\" \"src/**/*.ts\" \"test/**/*.js\" \"test/**/*.ts\"", "start:dev": "parcel -p 7575 index.html --open", "test": "jest", @@ -42,6 +42,7 @@ "eslint": "^7.18.0", "husky": "^4.3.6", "jest": "^26.6.3", + "jest-extended": "^0.11.5", "jest-fetch-mock": "^3.0.3", "msw": "^0.21.3", "parcel-bundler": "^1.12.4", diff --git a/src/app/model/Board.ts b/src/app/model/Board.ts new file mode 100644 index 0000000..ae029ad --- /dev/null +++ b/src/app/model/Board.ts @@ -0,0 +1,6 @@ +import { Piece } from './Piece'; +import { Square } from './Types'; + +export interface Board { + onPositionPiece(sqaure: Square): Piece | null; +} diff --git a/src/app/model/Constances.ts b/src/app/model/Constances.ts new file mode 100644 index 0000000..cac3d51 --- /dev/null +++ b/src/app/model/Constances.ts @@ -0,0 +1 @@ +export const BOARDSIZE = 8; diff --git a/src/app/model/Piece.ts b/src/app/model/Piece.ts new file mode 100644 index 0000000..2138efc --- /dev/null +++ b/src/app/model/Piece.ts @@ -0,0 +1,5 @@ +import { Side } from './Types'; + +export class Piece { + constructor(public id: string, public side: Side) {} +} diff --git a/src/app/model/PieceMovement.ts b/src/app/model/PieceMovement.ts new file mode 100644 index 0000000..3c96883 --- /dev/null +++ b/src/app/model/PieceMovement.ts @@ -0,0 +1,6 @@ +import { Board } from './Board'; +import { Square } from './Types'; + +export interface PieceMovement { + possibleMoves(position: Square, board: Board): Square[]; +} diff --git a/src/app/model/Rook.ts b/src/app/model/Rook.ts new file mode 100644 index 0000000..3c2e845 --- /dev/null +++ b/src/app/model/Rook.ts @@ -0,0 +1,92 @@ +import { Board } from './Board'; +import { BOARDSIZE } from './Constances'; +import { Piece } from './Piece'; +import { PieceMovement } from './PieceMovement'; +import { Column, columns, Row, Side, Square } from './Types'; + +export class Rook extends Piece implements PieceMovement { + constructor(id: string, side: Side) { + super(id, side); + } + + possibleMoves(position: Square, board: Board): Square[] { + const movesToGo = this.goUp(position, board).concat( + this.goDown(position, board), + this.goLeft(position, board), + this.goRight(position, board), + ); + return movesToGo; + } + + private goUp(position: Square, board: Board): Square[] { + const movesToGo: Square[] = []; + + for (let i = position.row + 1; i <= BOARDSIZE; i++) { + if (board.onPositionPiece({ column: position.column, row: i as Row }) === null) { + movesToGo.push({ column: position.column, row: i as Row }); + } else { + if (this.checkIfOponent(position.column, i as Row, board)) { + movesToGo.push({ column: position.column, row: i as Row }); + break; + } else break; + } + } + + return movesToGo; + } + + private goDown(position: Square, board: Board): Square[] { + const movesToGo: Square[] = []; + + for (let i = position.row - 1; i >= 1; i--) { + if (board.onPositionPiece({ column: position.column, row: i as Row }) === null) { + movesToGo.push({ column: position.column, row: i as Row }); + } else { + if (this.checkIfOponent(position.column, i as Row, board)) { + movesToGo.push({ column: position.column, row: i as Row }); + break; + } else break; + } + } + + return movesToGo; + } + + private goLeft(position: Square, board: Board): Square[] { + const movesToGo: Square[] = []; + + for (let i = columns.indexOf(position.column) - 1; i >= 0; i--) { + if (board.onPositionPiece({ column: columns[i], row: position.row }) === null) { + movesToGo.push({ column: columns[i], row: position.row }); + } else { + if (this.checkIfOponent(columns[i], position.row, board)) { + movesToGo.push({ column: columns[i], row: position.row }); + break; + } else break; + } + } + + return movesToGo; + } + + private goRight(position: Square, board: Board): Square[] { + const movesToGo: Square[] = []; + + for (let i = columns.indexOf(position.column) + 1; i < BOARDSIZE; i++) { + if (board.onPositionPiece({ column: columns[i], row: position.row }) === null) { + movesToGo.push({ column: columns[i], row: position.row }); + } else { + if (this.checkIfOponent(columns[i], position.row, board)) { + movesToGo.push({ column: columns[i], row: position.row }); + break; + } else break; + } + } + + return movesToGo; + } + + private checkIfOponent(columnPosition: Column, rowPosition: Row, board: Board): boolean { + return board.onPositionPiece({ column: columnPosition, row: rowPosition })?.side !== this.side; + } +} diff --git a/src/app/model/Types.ts b/src/app/model/Types.ts new file mode 100644 index 0000000..bf90a20 --- /dev/null +++ b/src/app/model/Types.ts @@ -0,0 +1,5 @@ +export const columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']; +export type Column = typeof columns[number]; +export type Row = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8; +export type Square = { column: Column; row: Row }; +export type Side = 'WHITE' | 'BLACK'; diff --git a/test/app/model/Rook.spec.ts b/test/app/model/Rook.spec.ts new file mode 100644 index 0000000..c1ee226 --- /dev/null +++ b/test/app/model/Rook.spec.ts @@ -0,0 +1,89 @@ +import { Rook } from '../../../src/app/model/Rook'; +import { Square } from '../../../src/app/model/Types'; +import { Board } from '../../../src/app/model/Board'; +import 'jest-extended'; + +describe('Rook movement', () => { + const mockOnPositionPiece = jest.fn(); + const board: Board = { onPositionPiece: mockOnPositionPiece }; + + it("Check possible squares to go, when Rook is on A1 and there is no pieces on Roook's way", () => { + mockOnPositionPiece.mockReturnValue(null); + const possibleMovesWhenRookOnA1 = [ + { column: 'B', row: 1 }, + { column: 'C', row: 1 }, + { column: 'D', row: 1 }, + { column: 'E', row: 1 }, + { column: 'F', row: 1 }, + { column: 'G', row: 1 }, + { column: 'H', row: 1 }, + { column: 'A', row: 2 }, + { column: 'A', row: 3 }, + { column: 'A', row: 4 }, + { column: 'A', row: 5 }, + { column: 'A', row: 6 }, + { column: 'A', row: 7 }, + { column: 'A', row: 8 }, + ]; + const rook = new Rook('1', 'WHITE'); + const rockPosition: Square = { column: 'A', row: 1 }; + + const rockPossibleMoves = rook.possibleMoves(rockPosition, board); + + expect(rockPossibleMoves).toIncludeSameMembers(possibleMovesWhenRookOnA1); + }); + + it("Check possible squares to go, when Rook is on D4 and there is no pieces on Roook's way", () => { + mockOnPositionPiece.mockReturnValue(null); + const possibleMovesWhenRookOnD4 = [ + { column: 'D', row: 8 }, + { column: 'D', row: 7 }, + { column: 'D', row: 6 }, + { column: 'D', row: 5 }, + { column: 'D', row: 3 }, + { column: 'D', row: 2 }, + { column: 'D', row: 1 }, + { column: 'A', row: 4 }, + { column: 'B', row: 4 }, + { column: 'C', row: 4 }, + { column: 'E', row: 4 }, + { column: 'F', row: 4 }, + { column: 'G', row: 4 }, + { column: 'H', row: 4 }, + ]; + const rook = new Rook('1', 'WHITE'); + const rockPosition: Square = { column: 'D', row: 4 }; + + const rockPossibleMoves = rook.possibleMoves(rockPosition, board); + + expect(rockPossibleMoves).toIncludeSameMembers(possibleMovesWhenRookOnD4); + }); + + it('Check possible squares to go, when Rook is on D4 and there are some pieces on D7 and F4', () => { + mockOnPositionPiece.mockImplementation((square) => { + if (square.column === 'D' && square.row === 7) { + return { id: '10', side: 'BLACK' }; + } else if (square.column === 'F' && square.row === 4) { + return { id: '11', side: 'WHITE' }; + } else return null; + }); + const possibleMovesWhenRookOnD4 = [ + { column: 'D', row: 7 }, + { column: 'D', row: 6 }, + { column: 'D', row: 5 }, + { column: 'D', row: 3 }, + { column: 'D', row: 2 }, + { column: 'D', row: 1 }, + { column: 'A', row: 4 }, + { column: 'B', row: 4 }, + { column: 'C', row: 4 }, + { column: 'E', row: 4 }, + ]; + const rook = new Rook('1', 'WHITE'); + const rockPosition: Square = { column: 'D', row: 4 }; + + const rockPossibleMoves = rook.possibleMoves(rockPosition, board); + + expect(rockPossibleMoves).toIncludeSameMembers(possibleMovesWhenRookOnD4); + }); +}); From e6b99501de3199eb0f0a82e5f6cd796649bb01ea Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Wed, 27 Jan 2021 20:34:02 +0100 Subject: [PATCH 013/134] Add first test --- package-lock.json | 13936 +++++++++++++++++++++++++++++++++- src/app/model/Pawn.ts | 0 test/app/model/Pawn.spec.ts | 22 + 3 files changed, 13949 insertions(+), 9 deletions(-) create mode 100644 src/app/model/Pawn.ts create mode 100644 test/app/model/Pawn.spec.ts diff --git a/package-lock.json b/package-lock.json index 8850d7c..86ed7ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,13926 @@ { "name": "coderscamp2020.project.typescript.chess", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "coderscamp2020.project.typescript.chess", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "parcel": "^1.12.4", + "regenerator-runtime": "^0.13.7", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@babel/core": "^7.11.6", + "@babel/preset-env": "^7.11.5", + "@testing-library/dom": "^7.26.6", + "@testing-library/jest-dom": "^5.11.6", + "@testing-library/user-event": "^12.2.2", + "@types/jest": "^26.0.20", + "@types/node": "^14.14.22", + "@typescript-eslint/eslint-plugin": "^4.14.0", + "@typescript-eslint/parser": "^4.14.0", + "babel-jest": "^26.5.0", + "cssnano": "^4.1.10", + "eslint": "^7.18.0", + "husky": "^4.3.6", + "jest": "^26.6.3", + "jest-extended": "^0.11.5", + "jest-fetch-mock": "^3.0.3", + "msw": "^0.21.3", + "parcel-bundler": "^1.12.4", + "parcel-plugin-static-files-copy": "^2.5.0", + "prettier": "2.2.1", + "pretty-quick": "^3.1.0", + "rimraf": "^3.0.2", + "sass": "^1.30.0", + "ts-jest": "^26.4.4", + "tsc-watch": "^4.2.9", + "typescript": "^4.1.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + }, + "node_modules/@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dependencies": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "dependencies": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dependencies": { + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dependencies": { + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dependencies": { + "@babel/types": "^7.12.11" + } + }, + "node_modules/@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==" + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz", + "integrity": "sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.10.tgz", + "integrity": "sha512-0ti12wLTLeUIzu9U7kjqIn4MyOL7+Wibc7avsHhj4o1l5C0ATs8p2IMHrVYjm9t9wzhfEO6S3kxax0Rpdo8LTg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", + "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.12.10", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1", + "@babel/types": "^7.12.12" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "dependencies": { + "regenerator-transform": "^0.14.2" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "dependencies": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "node_modules/@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", + "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dependencies": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@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 + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@eslint/eslintrc/node_modules/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, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@eslint/eslintrc/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" + }, + "node_modules/@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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/core/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/source-map/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@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, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/transform/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.scandir/node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@open-draft/until": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", + "integrity": "sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==", + "dev": true + }, + "node_modules/@parcel/fs": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz", + "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", + "dependencies": { + "@parcel/utils": "^1.11.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.2" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@parcel/fs/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/@parcel/logger": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz", + "integrity": "sha512-9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==", + "dependencies": { + "@parcel/workers": "^1.11.0", + "chalk": "^2.1.0", + "grapheme-breaker": "^0.3.2", + "ora": "^2.1.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@parcel/logger/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/logger/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/logger/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@parcel/logger/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@parcel/logger/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/logger/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/utils": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz", + "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz", + "integrity": "sha512-od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==", + "dependencies": { + "@parcel/utils": "^1.11.0", + "chokidar": "^2.1.5" + } + }, + "node_modules/@parcel/workers": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz", + "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==", + "dependencies": { + "@parcel/utils": "^1.11.0", + "physical-cpu-count": "^2.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@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, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "7.29.4", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.4.tgz", + "integrity": "sha512-CtrJRiSYEfbtNGtEsd78mk1n1v2TUbeABlNIcOCJdDfkN5/JTOwQEbbQpoSRxGqzcWPgStMvJ4mNolSuBRv1NA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.4", + "lz-string": "^1.4.4", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.11.9", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.9.tgz", + "integrity": "sha512-Mn2gnA9d1wStlAIT2NU8J15LNob0YFBVjs2aEQ3j8rsfRQo+lAs7/ui1i2TGaJjapLmuNPLTsrm+nPjmZDwpcQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^4.2.2", + "chalk": "^3.0.0", + "css": "^3.0.0", + "css.escape": "^1.5.1", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/user-event": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.6.0.tgz", + "integrity": "sha512-FNEH/HLmOk5GO70I52tKjs7WvGYckeE/SrnLX/ip7z2IGbffyd5zOUM1tZ10vsTphqm+VbDFI0oaXu0wcfQsAQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@types/aria-query": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz", + "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==", + "dev": true + }, + "node_modules/@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, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==", + "dev": true + }, + "node_modules/@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, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@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 + }, + "node_modules/@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, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@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, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "26.0.20", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", + "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", + "dev": true, + "dependencies": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", + "dev": true + }, + "node_modules/@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 + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", + "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", + "dev": true + }, + "node_modules/@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "node_modules/@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 + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.9.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz", + "integrity": "sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ==", + "dev": true, + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/yargs": { + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", + "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz", + "integrity": "sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.14.0", + "@typescript-eslint/scope-manager": "4.14.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz", + "integrity": "sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz", + "integrity": "sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "debug": "^4.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz", + "integrity": "sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz", + "integrity": "sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz", + "integrity": "sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz", + "integrity": "sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.14.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-to-html": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", + "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", + "dependencies": { + "entities": "^1.1.2" + }, + "bin": { + "ansi-to-html": "bin/ansi-to-html" + }, + "engines": { + "node": "*" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/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=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + } + }, + "node_modules/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, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon-walk": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz", + "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=", + "dependencies": { + "babel-runtime": "^6.11.6", + "babel-types": "^6.15.0", + "lodash.clone": "^4.5.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brfs": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", + "dependencies": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" + }, + "bin": { + "brfs": "bin/cmd.js" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/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==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/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==" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserify-zlib/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/browserslist": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", + "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", + "dependencies": { + "caniuse-lite": "^1.0.30001173", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.634", + "escalade": "^3.1.1", + "node-releases": "^1.1.69" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/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==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001178", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001178.tgz", + "integrity": "sha512-VtdZLC0vsXykKni8Uztx45xynytOi71Ufx9T8kHptSw9AL4dpqailUJJHavttuzUe1KYuBYtChiWv+BAb7mPmQ==" + }, + "node_modules/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, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/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 + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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 + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "node_modules/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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/color-string": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true + }, + "node_modules/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==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "hasInstallScript": true + }, + "node_modules/core-js-compat": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", + "dependencies": { + "browserslist": "^4.16.1", + "semver": "7.0.0" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-js-pure": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", + "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==", + "dev": true, + "hasInstallScript": true + }, + "node_modules/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=" + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.1" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dependencies": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "engines": { + "node": ">4" + } + }, + "node_modules/css-modules-loader-core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", + "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", + "dependencies": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.1", + "postcss-modules-extract-imports": "1.1.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/chalk/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/postcss": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", + "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", + "dependencies": { + "chalk": "^1.1.3", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", + "dev": true + }, + "node_modules/css/node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dependencies": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dependencies": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dependencies": { + "cssom": "0.3.x" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/deasync": { + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz", + "integrity": "sha512-kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + }, + "engines": { + "node": ">=0.11.0" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/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=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/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=" + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/defaults/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/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==", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz", + "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", + "engines": { + "node": ">=4.6.0" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.641", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.641.tgz", + "integrity": "sha512-b0DLhsHSHESC1I+Nx6n4w4Lr61chMd3m/av1rZQhS2IXTzaS5BMM5N+ldWdMIlni9CITMRM09m8He4+YV/92TA==" + }, + "node_modules/elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/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 + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/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, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "node_modules/envinfo": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", + "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-abstract/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "node_modules/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==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/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=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dependencies": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.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.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "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.20", + "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": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/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, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-utils/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "node_modules/events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/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 + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/falafel": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", + "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", + "dependencies": { + "acorn": "^7.1.1", + "foreach": "^2.0.5", + "isarray": "^2.0.1", + "object-keys": "^1.0.6" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/falafel/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/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==" + }, + "node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "node_modules/fastq": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-versions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", + "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", + "dev": true, + "dependencies": { + "semver-regex": "^3.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/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==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/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 + }, + "node_modules/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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/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, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "node_modules/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, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globby/node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/globby/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/globby/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "node_modules/grapheme-breaker": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", + "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", + "dependencies": { + "brfs": "^1.2.0", + "unicode-trie": "^0.3.1" + } + }, + "node_modules/graphql": { + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.4.0.tgz", + "integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==", + "dev": true, + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/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 + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/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==" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/headers-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/headers-utils/-/headers-utils-1.2.0.tgz", + "integrity": "sha512-4/BMXcWrJErw7JpM87gF8MNEXcIMLzepYZjNRv/P9ctgupl2Ywa3u1PgHtNhSRq84bHH9Ndlkdy7bSi+bZ9I9A==", + "dev": true + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "node_modules/html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/html-tags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz", + "integrity": "sha1-x43mW1Zjqll5id0rerSSANfk25g=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/htmlnano": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.8.tgz", + "integrity": "sha512-q5gbo4SIDAE5sfJ5V0UD6uu+n1dcO/Mpr0B6SlDlJBoV7xKPne4uG4UwrT8vUWjdjIPJl95TY8EDuEbBW2TG0A==", + "dependencies": { + "cssnano": "^4.1.10", + "posthtml": "^0.13.4", + "posthtml-render": "^1.3.0", + "purgecss": "^2.3.0", + "relateurl": "^0.2.7", + "srcset": "^3.0.0", + "svgo": "^1.3.2", + "terser": "^4.8.0", + "timsort": "^0.3.0", + "uncss": "^0.17.3" + } + }, + "node_modules/htmlnano/node_modules/posthtml": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.13.4.tgz", + "integrity": "sha512-i2oTo/+dwXGC6zaAQSF6WZEQSbEqu10hsvg01DWzGAfZmy31Iiy9ktPh9nnXDfZiYytjxTIvxoK4TI0uk4QWpw==", + "dependencies": { + "posthtml-parser": "^0.5.0", + "posthtml-render": "^1.2.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/htmlnano/node_modules/posthtml-parser": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.5.3.tgz", + "integrity": "sha512-uHosRn0y+1wbnlYKrqMjBPoo/kK5LPYImLtiETszNFYfFwAD3cQdD1R2E13Mh5icBxkHj+yKtlIHozCsmVWD/Q==", + "dependencies": { + "htmlparser2": "^3.9.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/htmlnano/node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "node_modules/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, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/husky": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", + "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^7.0.0", + "find-versions": "^4.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^5.0.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + }, + "bin": { + "husky-run": "bin/run.js", + "husky-upgrade": "lib/upgrader/bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/husky/node_modules/cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/husky/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/husky/node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/husky/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/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==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-html": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz", + "integrity": "sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=", + "dependencies": { + "html-tags": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dependencies": { + "html-comment-regex": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/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, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-changed-files/node_modules/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==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-config/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-config/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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 + }, + "node_modules/jest-environment-jsdom/node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", + "dev": true, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-extended": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-0.11.5.tgz", + "integrity": "sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q==", + "dev": true, + "dependencies": { + "expect": "^24.1.0", + "jest-get-type": "^22.4.3", + "jest-matcher-utils": "^22.0.0" + } + }, + "node_modules/jest-extended/node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-extended/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-extended/node_modules/@types/yargs": { + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-extended/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-extended/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-extended/node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-diff/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", + "dev": true + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", + "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-get-type": "^22.4.3", + "pretty-format": "^22.4.3" + } + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", + "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "node_modules/jest-extended/node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/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 + }, + "node_modules/jest-extended/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/stack-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", + "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-extended/node_modules/stack-utils/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-fetch-mock": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", + "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", + "dev": true, + "dependencies": { + "cross-fetch": "^3.0.4", + "promise-polyfill": "^8.1.3" + } + }, + "node_modules/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, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-haste-map/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-haste-map/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-message-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-message-util/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-util/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "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.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "node_modules/jsdom": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", + "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", + "dependencies": { + "abab": "^2.0.0", + "acorn": "^6.0.4", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.1.3", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.5.0", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.2", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsdom/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jsdom/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/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 + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "node_modules/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==" + }, + "node_modules/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 + }, + "node_modules/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=" + }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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 + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "node_modules/lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dependencies": { + "vlq": "^0.2.2" + } + }, + "node_modules/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, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "dependencies": { + "mime-db": "1.45.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mri": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", + "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/msw": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/msw/-/msw-0.21.3.tgz", + "integrity": "sha512-voPc/EJsjarvi454vSEuozZQQqLG4AUHT6qQL5Ah47lq7sGCpc7icByeUlfvEj5+MvaugN0c7JwXyCa2rxu8cA==", + "dev": true, + "dependencies": { + "@open-draft/until": "^1.0.3", + "@types/cookie": "^0.4.0", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cookie": "^0.4.1", + "graphql": "^15.3.0", + "headers-utils": "^1.2.0", + "node-fetch": "^2.6.1", + "node-match-path": "^0.4.4", + "node-request-interceptor": "^0.5.1", + "statuses": "^2.0.0", + "yargs": "^16.0.3" + }, + "bin": { + "msw": "cli/index.js" + } + }, + "node_modules/msw/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/msw/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/msw/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/msw/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/msw/node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/msw/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/msw/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/msw/node_modules/y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/msw/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/msw/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, + "node_modules/node-cleanup": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", + "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "engines": { + "node": "*" + } + }, + "node_modules/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/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "node_modules/node-match-path": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/node-match-path/-/node-match-path-0.4.4.tgz", + "integrity": "sha512-pBq9gp7TG0r0VXuy/oeZmQsjBSnYQo7G886Ly/B3azRwZuEtHCY155dzmfoKWcDPGgyfIGD8WKVC7h3+6y7yTg==", + "dev": true + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "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" + } + }, + "node_modules/node-notifier/node_modules/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, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-notifier/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "optional": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-releases": { + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" + }, + "node_modules/node-request-interceptor": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/node-request-interceptor/-/node-request-interceptor-0.5.9.tgz", + "integrity": "sha512-M1a3aulCW/kqajDn/w+qBX86G4So7utJGlrODAjQ1piz/kR8ZaDfd/wrJnsuPtUM12F0YxsnXG8qRKFkIEIxsw==", + "dev": true, + "dependencies": { + "@open-draft/until": "^1.0.3", + "debug": "^4.3.0", + "headers-utils": "^1.2.0" + } + }, + "node_modules/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, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "dev": true, + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", + "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", + "dependencies": { + "chalk": "^2.3.1", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.1.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^4.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "node_modules/parcel": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-1.12.4.tgz", + "integrity": "sha512-qfc74e2/R4pCoU6L/ZZnK9k3iDS6ir4uHea0e9th9w52eehcAGf2ido/iABq9PBXdsIOe4NSY3oUm7Khe7+S3w==", + "hasInstallScript": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.4.4", + "@babel/generator": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/plugin-transform-flow-strip-types": "^7.4.4", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/preset-env": "^7.4.4", + "@babel/runtime": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4", + "@iarna/toml": "^2.2.0", + "@parcel/fs": "^1.11.0", + "@parcel/logger": "^1.11.1", + "@parcel/utils": "^1.11.0", + "@parcel/watcher": "^1.12.1", + "@parcel/workers": "^1.11.0", + "ansi-to-html": "^0.6.4", + "babylon-walk": "^1.0.2", + "browserslist": "^4.1.0", + "chalk": "^2.1.0", + "clone": "^2.1.1", + "command-exists": "^1.2.6", + "commander": "^2.11.0", + "core-js": "^2.6.5", + "cross-spawn": "^6.0.4", + "css-modules-loader-core": "^1.1.0", + "cssnano": "^4.0.0", + "deasync": "^0.1.14", + "dotenv": "^5.0.0", + "dotenv-expand": "^5.1.0", + "envinfo": "^7.3.1", + "fast-glob": "^2.2.2", + "filesize": "^3.6.0", + "get-port": "^3.2.0", + "htmlnano": "^0.2.2", + "is-glob": "^4.0.0", + "is-url": "^1.2.2", + "js-yaml": "^3.10.0", + "json5": "^1.0.1", + "micromatch": "^3.0.4", + "mkdirp": "^0.5.1", + "node-forge": "^0.7.1", + "node-libs-browser": "^2.0.0", + "opn": "^5.1.0", + "postcss": "^7.0.11", + "postcss-value-parser": "^3.3.1", + "posthtml": "^0.11.2", + "posthtml-parser": "^0.4.0", + "posthtml-render": "^1.1.3", + "resolve": "^1.4.0", + "semver": "^5.4.1", + "serialize-to-js": "^3.0.0", + "serve-static": "^1.12.4", + "source-map": "0.6.1", + "terser": "^3.7.3", + "v8-compile-cache": "^2.0.0", + "ws": "^5.1.1" + }, + "bin": { + "parcel": "bin/cli.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/parcel-bundler": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.4.tgz", + "integrity": "sha512-G+iZGGiPEXcRzw0fiRxWYCKxdt/F7l9a0xkiU4XbcVRJCSlBnioWEwJMutOCCpoQmaQtjB4RBHDGIHN85AIhLQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.4.4", + "@babel/generator": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/plugin-transform-flow-strip-types": "^7.4.4", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/preset-env": "^7.4.4", + "@babel/runtime": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4", + "@iarna/toml": "^2.2.0", + "@parcel/fs": "^1.11.0", + "@parcel/logger": "^1.11.1", + "@parcel/utils": "^1.11.0", + "@parcel/watcher": "^1.12.1", + "@parcel/workers": "^1.11.0", + "ansi-to-html": "^0.6.4", + "babylon-walk": "^1.0.2", + "browserslist": "^4.1.0", + "chalk": "^2.1.0", + "clone": "^2.1.1", + "command-exists": "^1.2.6", + "commander": "^2.11.0", + "core-js": "^2.6.5", + "cross-spawn": "^6.0.4", + "css-modules-loader-core": "^1.1.0", + "cssnano": "^4.0.0", + "deasync": "^0.1.14", + "dotenv": "^5.0.0", + "dotenv-expand": "^5.1.0", + "envinfo": "^7.3.1", + "fast-glob": "^2.2.2", + "filesize": "^3.6.0", + "get-port": "^3.2.0", + "htmlnano": "^0.2.2", + "is-glob": "^4.0.0", + "is-url": "^1.2.2", + "js-yaml": "^3.10.0", + "json5": "^1.0.1", + "micromatch": "^3.0.4", + "mkdirp": "^0.5.1", + "node-forge": "^0.7.1", + "node-libs-browser": "^2.0.0", + "opn": "^5.1.0", + "postcss": "^7.0.11", + "postcss-value-parser": "^3.3.1", + "posthtml": "^0.11.2", + "posthtml-parser": "^0.4.0", + "posthtml-render": "^1.1.3", + "resolve": "^1.4.0", + "semver": "^5.4.1", + "serialize-to-js": "^3.0.0", + "serve-static": "^1.12.4", + "source-map": "0.6.1", + "terser": "^3.7.3", + "v8-compile-cache": "^2.0.0", + "ws": "^5.1.1" + }, + "bin": { + "parcel": "bin/cli.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/parcel-bundler/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/parcel-bundler/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-plugin-static-files-copy": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/parcel-plugin-static-files-copy/-/parcel-plugin-static-files-copy-2.5.0.tgz", + "integrity": "sha512-5rxOPw3iV+WXhePfByoIxsUlL4I0o95CgcF31gwgnhPuj2q6tVPuzEAJsag9bWJr5Vd/SXFPTNsUAGAg4jP07Q==", + "dev": true, + "dependencies": { + "minimatch": "3.0.4", + "path": "0.12.7" + } + }, + "node_modules/parcel/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/parcel/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/parcel/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dev": true, + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/path/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dependencies": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/postcss-calc/node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + }, + "node_modules/postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dependencies": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dependencies": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", + "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-extract-imports/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-local-by-default/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-scope/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-scope/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-scope/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dependencies": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-values/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-values/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-values/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-values/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dependencies": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/posthtml": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz", + "integrity": "sha512-C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==", + "dependencies": { + "posthtml-parser": "^0.4.1", + "posthtml-render": "^1.1.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz", + "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==", + "dependencies": { + "htmlparser2": "^3.9.2" + } + }, + "node_modules/posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/pretty-quick": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.0.tgz", + "integrity": "sha512-DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "execa": "^4.0.0", + "find-up": "^4.1.0", + "ignore": "^5.1.4", + "mri": "^1.1.5", + "multimatch": "^4.0.0" + }, + "bin": { + "pretty-quick": "bin/pretty-quick.js" + }, + "engines": { + "node": ">=10.13" + } + }, + "node_modules/pretty-quick/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/pretty-quick/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pretty-quick/node_modules/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==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-quick/node_modules/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, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-polyfill": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", + "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", + "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.0.0", + "postcss": "7.0.32", + "postcss-selector-parser": "^6.0.2" + }, + "bin": { + "purgecss": "bin/purgecss" + } + }, + "node_modules/purgecss/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/purgecss/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/purgecss/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/purgecss/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/purgecss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", + "dependencies": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + }, + "bin": { + "quote-stream": "bin/cmd.js" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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 + }, + "node_modules/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, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "node_modules/regjsparser": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz", + "integrity": "sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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=" + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "node_modules/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, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, + "node_modules/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==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "dependencies": { + "@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" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sass": { + "version": "1.32.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.4.tgz", + "integrity": "sha512-N0BT0PI/t3+gD8jKa83zJJUb7ssfQnRRfqN+GIErokW6U4guBpfYl8qYB+OFLEho+QvnV5ZH1R9qhUC/Z2Ch9w==", + "dev": true, + "dependencies": { + "chokidar": ">=2.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "node_modules/semver-regex": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", + "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "node_modules/serialize-to-js": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.1.1.tgz", + "integrity": "sha512-F+NGU0UHMBO4Q965tjw7rvieNVjlH6Lqi2emq/Lc9LUURYJbiCzmpi4Cy1OOjjVPtxu0c+NE85LU6968Wko5ZA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "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" + } + }, + "node_modules/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==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/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 + }, + "node_modules/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, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/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 + }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/srcset": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-3.0.0.tgz", + "integrity": "sha512-D59vF08Qzu/C4GAOXVgMTLfgryt5fyWo93FZyhEWANo0PokFz/iWdDe13mX3O5TRf6l8vMTqckAfR4zPiaH0yQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "node_modules/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, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-eval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", + "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", + "dependencies": { + "escodegen": "^1.11.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-module": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", + "dependencies": { + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-argv": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", + "integrity": "sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/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, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "dependencies": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/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, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "dependencies": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "bin": { + "terser": "bin/uglifyjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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 + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, + "node_modules/tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "node_modules/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/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==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "dev": true, + "dependencies": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/ts-jest/node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-jest/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/tsc-watch": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-4.2.9.tgz", + "integrity": "sha512-DlTaoDs74+KUpyWr7dCGhuscAUKCz6CiFduBN7R9RbLJSSN1moWdwoCLASE7+zLgGvV5AwXfYDiEMAsPGaO+Vw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "node-cleanup": "^2.1.2", + "ps-tree": "^1.2.0", + "string-argv": "^0.1.1", + "strip-ansi": "^6.0.0" + }, + "bin": { + "tsc-watch": "index.js" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tsc-watch/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", + "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uncss": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", + "integrity": "sha512-ksdDWl81YWvF/X14fOSw4iu8tESDHFIeyKIeDrK6GEVTQvqJc1WlOEXqostNwOCi3qAj++4EaLsdAgPmUbEyog==", + "dependencies": { + "commander": "^2.20.0", + "glob": "^7.1.4", + "is-absolute-url": "^3.0.1", + "is-html": "^1.1.0", + "jsdom": "^14.1.0", + "lodash": "^4.17.15", + "postcss": "^7.0.17", + "postcss-selector-parser": "6.0.2", + "request": "^2.88.0" + }, + "bin": { + "uncss": "bin/uncss" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/uncss/node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/uncss/node_modules/postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "node_modules/util.promisify/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/util.promisify/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" + }, + "node_modules/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, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/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==", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/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==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/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==" + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/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 + }, + "node_modules/which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/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, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", @@ -10434,6 +24352,14 @@ "xtend": "^4.0.0" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-argv": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", @@ -10501,14 +24427,6 @@ "define-properties": "^1.1.3" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts new file mode 100644 index 0000000..e69de29 diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts new file mode 100644 index 0000000..b0bf6fa --- /dev/null +++ b/test/app/model/Pawn.spec.ts @@ -0,0 +1,22 @@ +import { Pawn } from '../../../src/app/model/Pawn'; +import { Square } from '../../../src/app/model/Types'; +import { Board } from '../../../src/app/model/Board'; +import 'jest-extended'; + +describe('Rook movement', () => { + const mockOnPositionPiece = jest.fn(); + const board: Board = { onPositionPiece: mockOnPositionPiece }; + + it("Check possible squares to go, when White Pawn is on D4 and there is no pieces on Pawn's way", () => { + mockOnPositionPiece.mockReturnValue(null); + + const possibleMovesWhenWhitePawnOnD4 = [{ column: 'D', row: 5 }]; + + const whitePawn = new Pawn('wPawn4', 'WHITE'); + const whitePawnPosition: Square = { column: 'A', row: 1 }; + + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, board); + + expect(whitePawnPossibleMoves).toIncludeSameMembers(possibleMovesWhenWhitePawnOnD4); + }); +}); From ca0b00348530912a5429057d5699209dd872cec3 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 28 Jan 2021 00:44:04 +0100 Subject: [PATCH 014/134] Add more tests and added BoardFixture.ts --- test/app/model/BoardFixture.ts | 15 +++++++++ test/app/model/Pawn.spec.ts | 59 ++++++++++++++++++++++++++++------ 2 files changed, 64 insertions(+), 10 deletions(-) create mode 100644 test/app/model/BoardFixture.ts diff --git a/test/app/model/BoardFixture.ts b/test/app/model/BoardFixture.ts new file mode 100644 index 0000000..52b7800 --- /dev/null +++ b/test/app/model/BoardFixture.ts @@ -0,0 +1,15 @@ +import { Board } from '../../../src/app/model/Board'; +import { Square } from '../../../src/app/model/Types'; +import { Piece } from '../../../src/app/model/Piece'; + +export const emptyBoard: Board = { onPositionPiece: (square: Square) => null }; +export type SquareWithPiece = { [key: string]: Piece }; + +export const boardWithPieces: (squaresWithPiece: SquareWithPiece) => Board = (squaresWithPiece) => { + return { + onPositionPiece: (square: Square) => { + const pieceOnSquare = squaresWithPiece[`${square.column}${square.row}`]; + return pieceOnSquare ? pieceOnSquare : null; + }, + }; +}; diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts index b0bf6fa..8fa0935 100644 --- a/test/app/model/Pawn.spec.ts +++ b/test/app/model/Pawn.spec.ts @@ -2,21 +2,60 @@ import { Pawn } from '../../../src/app/model/Pawn'; import { Square } from '../../../src/app/model/Types'; import { Board } from '../../../src/app/model/Board'; import 'jest-extended'; +import { boardWithPieces, emptyBoard } from './BoardFixture'; -describe('Rook movement', () => { - const mockOnPositionPiece = jest.fn(); - const board: Board = { onPositionPiece: mockOnPositionPiece }; - +describe('Pawn movement', () => { it("Check possible squares to go, when White Pawn is on D4 and there is no pieces on Pawn's way", () => { - mockOnPositionPiece.mockReturnValue(null); - - const possibleMovesWhenWhitePawnOnD4 = [{ column: 'D', row: 5 }]; + const expectedPossibleMoves = [{ column: 'D', row: 5 }]; - const whitePawn = new Pawn('wPawn4', 'WHITE'); + const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'A', row: 1 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); + + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when White Pawn is on D7 and there is no pieces on Pawn's way", () => { + const expectedPossibleMoves = [{ column: 'D', row: 8 }]; + + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'D', row: 7 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); + + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when White Pawn is on B4 and there is no pieces on Pawn's way and it's black piece on A5", () => { + const testBoard = boardWithPieces({ + A5: { id: 'testId', side: 'BLACK' }, + }); + const expectedPossibleMoves = [ + { column: 'A', row: 5 }, + { column: 'B', row: 5 }, + ]; + + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'B', row: 4 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when White Pawn is on B4 and there is no pieces on Pawn's way and it's black piece on A5 and it's white piece on C5", () => { + const testBoard = boardWithPieces({ + A5: { id: 'testId', side: 'BLACK' }, + C5: { id: 'testId', side: 'WHITE' }, + }); + + const expectedPossibleMoves = [ + { column: 'A', row: 5 }, + { column: 'B', row: 5 }, + ]; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, board); + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'B', row: 4 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); - expect(whitePawnPossibleMoves).toIncludeSameMembers(possibleMovesWhenWhitePawnOnD4); + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); }); From 18654d8524a636393e9e34ec8d6ee2749dae27a7 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Thu, 28 Jan 2021 14:33:26 +0100 Subject: [PATCH 015/134] Add chess Board fixtures and improve tests readability --- src/app/model/Board.ts | 2 +- src/app/model/Rook.ts | 8 ++++---- test/app/model/BoardFixture.ts | 12 ++++++++++++ test/app/model/Rook.spec.ts | 20 ++++++-------------- 4 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 test/app/model/BoardFixture.ts diff --git a/src/app/model/Board.ts b/src/app/model/Board.ts index ae029ad..d179b0a 100644 --- a/src/app/model/Board.ts +++ b/src/app/model/Board.ts @@ -2,5 +2,5 @@ import { Piece } from './Piece'; import { Square } from './Types'; export interface Board { - onPositionPiece(sqaure: Square): Piece | null; + onPositionPiece(sqaure: Square): Piece | undefined; } diff --git a/src/app/model/Rook.ts b/src/app/model/Rook.ts index 3c2e845..5315f30 100644 --- a/src/app/model/Rook.ts +++ b/src/app/model/Rook.ts @@ -22,7 +22,7 @@ export class Rook extends Piece implements PieceMovement { const movesToGo: Square[] = []; for (let i = position.row + 1; i <= BOARDSIZE; i++) { - if (board.onPositionPiece({ column: position.column, row: i as Row }) === null) { + if (!board.onPositionPiece({ column: position.column, row: i as Row })) { movesToGo.push({ column: position.column, row: i as Row }); } else { if (this.checkIfOponent(position.column, i as Row, board)) { @@ -39,7 +39,7 @@ export class Rook extends Piece implements PieceMovement { const movesToGo: Square[] = []; for (let i = position.row - 1; i >= 1; i--) { - if (board.onPositionPiece({ column: position.column, row: i as Row }) === null) { + if (!board.onPositionPiece({ column: position.column, row: i as Row })) { movesToGo.push({ column: position.column, row: i as Row }); } else { if (this.checkIfOponent(position.column, i as Row, board)) { @@ -56,7 +56,7 @@ export class Rook extends Piece implements PieceMovement { const movesToGo: Square[] = []; for (let i = columns.indexOf(position.column) - 1; i >= 0; i--) { - if (board.onPositionPiece({ column: columns[i], row: position.row }) === null) { + if (!board.onPositionPiece({ column: columns[i], row: position.row })) { movesToGo.push({ column: columns[i], row: position.row }); } else { if (this.checkIfOponent(columns[i], position.row, board)) { @@ -73,7 +73,7 @@ export class Rook extends Piece implements PieceMovement { const movesToGo: Square[] = []; for (let i = columns.indexOf(position.column) + 1; i < BOARDSIZE; i++) { - if (board.onPositionPiece({ column: columns[i], row: position.row }) === null) { + if (!board.onPositionPiece({ column: columns[i], row: position.row })) { movesToGo.push({ column: columns[i], row: position.row }); } else { if (this.checkIfOponent(columns[i], position.row, board)) { diff --git a/test/app/model/BoardFixture.ts b/test/app/model/BoardFixture.ts new file mode 100644 index 0000000..83cf28c --- /dev/null +++ b/test/app/model/BoardFixture.ts @@ -0,0 +1,12 @@ +import { Board } from '../../../src/app/model/Board'; +import { Square } from '../../../src/app/model/Types'; +import { Piece } from '../../../src/app/model/Piece'; + +export const emptyBoard: Board = { onPositionPiece: (square: Square) => undefined }; +export type SquareWithPiece = { [key: string]: Piece }; + +export const boardWithPieces: (squaresWithPiece: SquareWithPiece) => Board = (squaresWithPiece) => { + return { + onPositionPiece: (square: Square) => squaresWithPiece[`${square.column}${square.row}`], + }; +}; diff --git a/test/app/model/Rook.spec.ts b/test/app/model/Rook.spec.ts index c1ee226..03cbe22 100644 --- a/test/app/model/Rook.spec.ts +++ b/test/app/model/Rook.spec.ts @@ -1,14 +1,10 @@ import { Rook } from '../../../src/app/model/Rook'; import { Square } from '../../../src/app/model/Types'; -import { Board } from '../../../src/app/model/Board'; import 'jest-extended'; +import { boardWithPieces, emptyBoard } from './BoardFixture'; describe('Rook movement', () => { - const mockOnPositionPiece = jest.fn(); - const board: Board = { onPositionPiece: mockOnPositionPiece }; - it("Check possible squares to go, when Rook is on A1 and there is no pieces on Roook's way", () => { - mockOnPositionPiece.mockReturnValue(null); const possibleMovesWhenRookOnA1 = [ { column: 'B', row: 1 }, { column: 'C', row: 1 }, @@ -28,13 +24,12 @@ describe('Rook movement', () => { const rook = new Rook('1', 'WHITE'); const rockPosition: Square = { column: 'A', row: 1 }; - const rockPossibleMoves = rook.possibleMoves(rockPosition, board); + const rockPossibleMoves = rook.possibleMoves(rockPosition, emptyBoard); expect(rockPossibleMoves).toIncludeSameMembers(possibleMovesWhenRookOnA1); }); it("Check possible squares to go, when Rook is on D4 and there is no pieces on Roook's way", () => { - mockOnPositionPiece.mockReturnValue(null); const possibleMovesWhenRookOnD4 = [ { column: 'D', row: 8 }, { column: 'D', row: 7 }, @@ -54,18 +49,15 @@ describe('Rook movement', () => { const rook = new Rook('1', 'WHITE'); const rockPosition: Square = { column: 'D', row: 4 }; - const rockPossibleMoves = rook.possibleMoves(rockPosition, board); + const rockPossibleMoves = rook.possibleMoves(rockPosition, emptyBoard); expect(rockPossibleMoves).toIncludeSameMembers(possibleMovesWhenRookOnD4); }); it('Check possible squares to go, when Rook is on D4 and there are some pieces on D7 and F4', () => { - mockOnPositionPiece.mockImplementation((square) => { - if (square.column === 'D' && square.row === 7) { - return { id: '10', side: 'BLACK' }; - } else if (square.column === 'F' && square.row === 4) { - return { id: '11', side: 'WHITE' }; - } else return null; + const board = boardWithPieces({ + D7: { id: '10', side: 'BLACK' }, + F4: { id: '11', side: 'WHITE' }, }); const possibleMovesWhenRookOnD4 = [ { column: 'D', row: 7 }, From a228e4d21386b4888f5a73b343b3c5cac547253a Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 13:37:17 +0100 Subject: [PATCH 016/134] Add non-finished Pawn.ts --- src/app/model/Pawn.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index e69de29..c878d99 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -0,0 +1,15 @@ +import { Board } from './Board'; +import { BOARDSIZE } from './Constances'; +import { Piece } from './Piece'; +import { PieceMovement } from './PieceMovement'; +import { Column, columns, Row, Side, Square } from './Types'; + +export class Pawn extends Piece implements PieceMovement { + constructor(id: string, side: Side) { + super(id, side); + } + + possibleMoves(position: Square, board: Board): Square[] { + return []; + } +} From 5f60ff376582fdbe785e9c8271ea434aa2c8d56c Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 15:09:12 +0100 Subject: [PATCH 017/134] Add all tests --- src/app/model/Pawn.ts | 2 +- test/app/model/Pawn.spec.ts | 130 ++++++++++++++++++++++++++++++++++-- 2 files changed, 124 insertions(+), 8 deletions(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index c878d99..956385d 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -10,6 +10,6 @@ export class Pawn extends Piece implements PieceMovement { } possibleMoves(position: Square, board: Board): Square[] { - return []; + return [{ column: 'Z', row: 8 }]; } } diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts index 8fa0935..2079d11 100644 --- a/test/app/model/Pawn.spec.ts +++ b/test/app/model/Pawn.spec.ts @@ -7,7 +7,6 @@ import { boardWithPieces, emptyBoard } from './BoardFixture'; describe('Pawn movement', () => { it("Check possible squares to go, when White Pawn is on D4 and there is no pieces on Pawn's way", () => { const expectedPossibleMoves = [{ column: 'D', row: 5 }]; - const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'A', row: 1 }; const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); @@ -17,11 +16,9 @@ describe('Pawn movement', () => { it("Check possible squares to go, when White Pawn is on D7 and there is no pieces on Pawn's way", () => { const expectedPossibleMoves = [{ column: 'D', row: 8 }]; - const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'D', row: 7 }; const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -33,11 +30,9 @@ describe('Pawn movement', () => { { column: 'A', row: 5 }, { column: 'B', row: 5 }, ]; - const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'B', row: 4 }; const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -46,16 +41,137 @@ describe('Pawn movement', () => { A5: { id: 'testId', side: 'BLACK' }, C5: { id: 'testId', side: 'WHITE' }, }); - const expectedPossibleMoves = [ { column: 'A', row: 5 }, { column: 'B', row: 5 }, ]; - const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'B', row: 4 }; const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when White Pawn is on E2 and there is no pieces on Pawn's way", () => { + const expectedPossibleMoves = [ + { column: 'E', row: 3 }, + { column: 'E', row: 4 }, + ]; + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it('Check possible squares to go, when White Pawn is on E2 and there is black piece on E3', () => { + const testBoard = boardWithPieces({ + E3: { id: 'testId', side: 'BLACK' }, + }); + const expectedPossibleMoves = [] as Square[]; + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it('Check possible squares to go, when White Pawn is on E2 and there is black piece on E4', () => { + const testBoard = boardWithPieces({ + E4: { id: 'testId', side: 'BLACK' }, + }); + const expectedPossibleMoves = [{ column: 'E', row: 3 }]; + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it('Check possible squares to go, when White Pawn is on E2 and there is black pieces on E4 and on C3', () => { + const testBoard = boardWithPieces({ + E4: { id: 'testId', side: 'BLACK' }, + C3: { id: 'testId', side: 'BLACK' }, + }); + const expectedPossibleMoves = [{ column: 'E', row: 3 }]; + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it('Check possible squares to go, when White Pawn is on E2 and there is black pieces on E4 and on D3', () => { + const testBoard = boardWithPieces({ + E4: { id: 'testId', side: 'BLACK' }, + D3: { id: 'testId', side: 'BLACK' }, + }); + const expectedPossibleMoves = [ + { column: 'E', row: 3 }, + { column: 'D', row: 3 }, + ]; + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + it('Check possible squares to go, when White Pawn is on E2 and there is black piece on E4 and white piece on D3', () => { + const testBoard = boardWithPieces({ + D3: { id: 'testId', side: 'WHITE' }, + E4: { id: 'testId', side: 'BLACK' }, + }); + const expectedPossibleMoves = [{ column: 'E', row: 3 }]; + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); + + it("Check possible squares to go, when BLACK Pawn is on E2 and there is no pieces on Pawn's way", () => { + const testBoard = emptyBoard; + const expectedPossibleMoves = [{ column: 'E', row: 1 }]; + const pawn = new Pawn('testId', 'BLACK'); + const pawnPosition: Square = { column: 'E', row: 2 }; + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when BLACK Pawn is on E7 and there is no pieces on Pawn's way", () => { + const testBoard = emptyBoard; + const expectedPossibleMoves = [ + { column: 'E', row: 6 }, + { column: 'E', row: 5 }, + ]; + const pawn = new Pawn('testId', 'BLACK'); + const pawnPosition: Square = { column: 'E', row: 7 }; + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it('Check possible squares to go, when BLACK Pawn is on E7 and there is black piece on E6', () => { + const testBoard = emptyBoard; + const expectedPossibleMoves = [] as Square[]; + const pawn = new Pawn('testId', 'BLACK'); + const pawnPosition: Square = { column: 'E', row: 7 }; + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it('Check possible squares to go, when BLACK Pawn is on E7 and there is black piece on E5', () => { + const testBoard = emptyBoard; + const expectedPossibleMoves = [{ column: 'E', row: 6 }]; + const pawn = new Pawn('testId', 'BLACK'); + const pawnPosition: Square = { column: 'E', row: 7 }; + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it('Check possible squares to go, when BLACK Pawn is on E7 and there is white piece on D6', () => { + const testBoard = emptyBoard; + const expectedPossibleMoves = [ + { column: 'E', row: 6 }, + { column: 'E', row: 5 }, + { column: 'D', row: 6 }, + ]; + const pawn = new Pawn('testId', 'BLACK'); + const pawnPosition: Square = { column: 'E', row: 7 }; + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); }); From 11dcdd8df023efb3388b3e96e9238ecbeeed876d Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 15:28:50 +0100 Subject: [PATCH 018/134] Add "possibleMoves" functions --- src/app/model/Pawn.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 956385d..900bb37 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -10,6 +10,7 @@ export class Pawn extends Piece implements PieceMovement { } possibleMoves(position: Square, board: Board): Square[] { - return [{ column: 'Z', row: 8 }]; + const movesToGo = [].concat(this.goAhead(position, board), this.goDoubleAhead(position, board), this.goDiagonalAhead(position, board)); + return movesToGo; } } From a9bb4100ea6889a6253526e6bfcc260ce3939997 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Fri, 29 Jan 2021 15:58:56 +0100 Subject: [PATCH 019/134] ESLint configuration fix and add lint & prettier to GitHub Actions workflow --- .eslintrc.js | 6 +++++- .github/workflows/node.js.yml | 2 ++ package-lock.json | 5 +++++ package.json | 6 +++++- tsconfig.json | 3 ++- 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 2c26558..ddbc975 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -16,5 +16,9 @@ module.exports = { node: false, jest: true, }, - rules: {}, + ignorePatterns: ['.eslintrc.js'], + rules: { + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/no-empty-interface': 'off', + }, }; diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 245f633..13e7ab1 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -19,6 +19,8 @@ jobs: with: node-version: 14.x - run: npm ci + - run: npm run lint:ci + - run: npm run format:ci - run: npm run build --if-present - run: npm test - uses: actions/upload-artifact@v1 diff --git a/package-lock.json b/package-lock.json index 8850d7c..f19ec51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4061,6 +4061,11 @@ } } }, + "eslint-config-prettier": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", + "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==" + }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", diff --git a/package.json b/package.json index 994b56f..683e92c 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,10 @@ "clean": "rimraf .cache && rimraf coverage && rimraf dist && rimraf node_modules", "prebuild": "rimraf dist", "build": "rm -rf dist && tsc --noEmit && parcel build index.html", - "format": "prettier --write \"src/**/*.js\" \"src/**/*.ts\" \"test/**/*.js\" \"test/**/*.ts\"", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "format:ci": "prettier -c \"src/**/*.ts\" \"test/**/*.ts\"", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix --format codeframe", + "lint:ci": "eslint \"{src,apps,libs,test}/**/*.ts\" --format codeframe", "start:dev": "parcel -p 7575 index.html --open", "test": "jest", "test:watch": "jest --watch", @@ -23,6 +26,7 @@ }, "homepage": "https://github.com/nowakprojects/CodersCamp2020.Project.TypeScript.Chess#readme", "dependencies": { + "eslint-config-prettier": "^7.2.0", "parcel": "^1.12.4", "regenerator-runtime": "^0.13.7", "uuid": "^8.3.0" diff --git a/tsconfig.json b/tsconfig.json index 2314fa0..3f3b214 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -64,5 +64,6 @@ }, /* Advanced Options */ "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, - "skipLibCheck": true /* Skip type checking of declaration files. */ + "skipLibCheck": true /* Skip type checking of declaration files. */, + "include": ["src", "test"] } From 96ee0daa79a6502c723ef1a9106801a4db4b2a7f Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 16:15:11 +0100 Subject: [PATCH 020/134] Fix movesToGo --- src/app/model/Pawn.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 900bb37..50cf7d1 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -10,7 +10,8 @@ export class Pawn extends Piece implements PieceMovement { } possibleMoves(position: Square, board: Board): Square[] { - const movesToGo = [].concat(this.goAhead(position, board), this.goDoubleAhead(position, board), this.goDiagonalAhead(position, board)); + let movesToGo: Square[] = [] as Square[]; + movesToGo = movesToGo.concat(this.goAhead(position, board), this.goDoubleAhead(position, board), this.goDiagonalAhead(position, board)); return movesToGo; } } From 77cf28abe304a2d526a5fd237cbfe6e63903e63d Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 16:54:00 +0100 Subject: [PATCH 021/134] Fix first test "Check possible squares to go, when White Pawn is on D4 and there is no pieces on Pawn's way" --- test/app/model/Pawn.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts index 2079d11..6c426e2 100644 --- a/test/app/model/Pawn.spec.ts +++ b/test/app/model/Pawn.spec.ts @@ -8,7 +8,7 @@ describe('Pawn movement', () => { it("Check possible squares to go, when White Pawn is on D4 and there is no pieces on Pawn's way", () => { const expectedPossibleMoves = [{ column: 'D', row: 5 }]; const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'A', row: 1 }; + const whitePawnPosition: Square = { column: 'D', row: 4 }; const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); From a9cbe9c598f2847fa8727bcd7198be90d1649fa8 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 16:55:16 +0100 Subject: [PATCH 022/134] Add "goAhead" function for WHITE side --- src/app/model/Pawn.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 50cf7d1..0c3f13e 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -14,4 +14,28 @@ export class Pawn extends Piece implements PieceMovement { movesToGo = movesToGo.concat(this.goAhead(position, board), this.goDoubleAhead(position, board), this.goDiagonalAhead(position, board)); return movesToGo; } + + private goAhead(position: Square, board: Board): Square[] { + const movesToGo: Square[] = []; + if (board.onPositionPiece({ column: position.column, row: (position.row + 1) as Row }) === null) { + movesToGo.push({ column: position.column, row: (position.row + 1) as Row }); + } + return movesToGo; + } + + private goDoubleAhead(position: Square, board: Board): Square[] { + const movesToGo: Square[] = []; + + return movesToGo; + } + + private goDiagonalAhead(position: Square, board: Board): Square[] { + const movesToGo: Square[] = []; + return movesToGo; + } + + private checkIfOponent(columnPosition: Column, rowPosition: Row, board: Board): boolean { + // ! nie rozumiem tego znaka zapytania na końcu + return board.onPositionPiece({ column: columnPosition, row: rowPosition })?.side !== this.side; + } } From a4554414726176dd3d3393e8fba071163e713cc6 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 16:56:12 +0100 Subject: [PATCH 023/134] Add "goDoubleAhead" function for WHITE side --- src/app/model/Pawn.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 0c3f13e..34c6c6c 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -25,7 +25,14 @@ export class Pawn extends Piece implements PieceMovement { private goDoubleAhead(position: Square, board: Board): Square[] { const movesToGo: Square[] = []; - + if (position.row === 2) { + if ( + board.onPositionPiece({ column: position.column, row: (position.row + 1) as Row }) === null && + board.onPositionPiece({ column: position.column, row: (position.row + 2) as Row }) === null + ) { + movesToGo.push({ column: position.column, row: (position.row + 2) as Row }); + } + } return movesToGo; } From 2e2b0e26626a0d0419d591f46ce1f73adabe7500 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 17:27:06 +0100 Subject: [PATCH 024/134] Add moving Pawn in diagonal ahead line for WHITE Pawns --- src/app/model/Pawn.ts | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 34c6c6c..1e5b6b9 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -17,7 +17,7 @@ export class Pawn extends Piece implements PieceMovement { private goAhead(position: Square, board: Board): Square[] { const movesToGo: Square[] = []; - if (board.onPositionPiece({ column: position.column, row: (position.row + 1) as Row }) === null) { + if (!board.onPositionPiece({ column: position.column, row: (position.row + 1) as Row })) { movesToGo.push({ column: position.column, row: (position.row + 1) as Row }); } return movesToGo; @@ -27,8 +27,8 @@ export class Pawn extends Piece implements PieceMovement { const movesToGo: Square[] = []; if (position.row === 2) { if ( - board.onPositionPiece({ column: position.column, row: (position.row + 1) as Row }) === null && - board.onPositionPiece({ column: position.column, row: (position.row + 2) as Row }) === null + !board.onPositionPiece({ column: position.column, row: (position.row + 1) as Row }) && + !board.onPositionPiece({ column: position.column, row: (position.row + 2) as Row }) ) { movesToGo.push({ column: position.column, row: (position.row + 2) as Row }); } @@ -38,6 +38,23 @@ export class Pawn extends Piece implements PieceMovement { private goDiagonalAhead(position: Square, board: Board): Square[] { const movesToGo: Square[] = []; + const currentColumnNumber = columns.indexOf(position.column); + const currentRowNumber = position.row; + + if ( + board.onPositionPiece({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1) as Row }) && + this.checkIfOponent(columns[currentColumnNumber + 1], (currentRowNumber + 1) as Row, board) + ) { + movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1) as Row }); + } + + if ( + board.onPositionPiece({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1) as Row }) && + this.checkIfOponent(columns[currentColumnNumber - 1], (currentRowNumber + 1) as Row, board) + ) { + movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1) as Row }); + } + return movesToGo; } From 7e7709b1a7431428bf8e5bdffa6ec7c2c4212114 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Fri, 29 Jan 2021 22:52:25 +0100 Subject: [PATCH 025/134] CodeCov | Add test coverage reports and badge in README.md --- .github/workflows/node.js.yml | 10 +++++-- README.md | 55 ++++++++++++++++++++--------------- package.json | 5 ++-- 3 files changed, 42 insertions(+), 28 deletions(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 13e7ab1..3668108 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -1,7 +1,7 @@ # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions -name: Node.js CI +name: CodersCamp2020 | ♟️ Chess Game - TypeScript CI on: push: @@ -22,13 +22,19 @@ jobs: - run: npm run lint:ci - run: npm run format:ci - run: npm run build --if-present - - run: npm test + - run: npm run test:ci - uses: actions/upload-artifact@v1 name: Upload build as artifact if: always() with: name: chess-dist path: ./dist + + - name: Upload test coverage report to Codecov + uses: codecov/codecov-action@v1 + with: + flags: chess,coderscamp,coderscamp202,typescript + deploy-on-github-pages: name: 'Deploy app to GitHub Pages from develop branch source code' if: github.ref == 'refs/heads/develop' diff --git a/README.md b/README.md index d5a7711..ac49eb8 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,46 @@ -**UWAGA! Zaczynając pracę nad projektem — nie róbcie forka. -Jedna osoba z zespołu (np. Mentor) powinna użyć przycisku `Use this template` i dodać innych członków zespołu jako Collaborators do tego repozytorium. -Mentorzy mogą dowolnie zmieniać zakres projektu lub zdecydować się na zupełnie inny temat.** - # CodersCamp 2020 - Projekt TypeScript -**CodersCamp (coderscamp.edu.pl) - Największy otwarty kurs programowania webowego** + +**CodersCamp (coderscamp.edu.pl) - Największy otwarty kurs programowania webowego** + +[![codecov](https://codecov.io/gh/nowakprojects/CodersCamp2020.Project.TypeScript.Chess/branch/develop/graph/badge.svg?token=N3DLMXP3WM)](https://codecov.io/gh/nowakprojects/CodersCamp2020.Project.TypeScript.Chess) ![Szachy - Ekrany](./.github/images/SzachyEkrany.png) Proponowany projekt — Szachy (opis poniżej). -### Zasady wykonywania projektu (wspólne dla wszystkich grup i mentorów): +### Zasady wykonywania projektu (wspólne dla wszystkich grup i mentorów): ##### W projekcie każdy z uczestników powinien zaprezentować praktyczną znajomość poniższych zagadnień związanych z TypeScript: + - typy podstawowe - definiowanie własnych typów - składanie typów - typy / klasy / interfejsy - implementacja / dziedziczenie / kompozycja / implementacja interfejsu -- modyfikatory dostępu +- modyfikatory dostępu - typy generyczne - testy jednostkowe i TDD -Do realizacji założeń projektowych nie używajcie żadnej biblioteki, która np. implementuje silnik szachów. Ten projekt ma za zadanie właśnie nauczyć jak planować takie systemy :) Wraz z mentorem spróbujcie się skupić na właściwej architekturze aplikacji i podziale odpowiedzialności. +Do realizacji założeń projektowych nie używajcie żadnej biblioteki, która np. implementuje silnik szachów. Ten projekt ma za zadanie właśnie nauczyć jak planować takie systemy :) Wraz z mentorem spróbujcie się skupić na właściwej architekturze aplikacji i podziale odpowiedzialności. Co więcej, coraz częściej w czasie rekrutacji programistów pojawia się etap "System Design" poleagający na dyskusji i projektowaniu rozwiązania jakiegoś prostego systemu. Częstym przykładem jest właśnie gra w szachy. W zadaniach dodatkowych jest gra przeciwko komputerowi - oczywiście AI nie jest zakresem kursu, więc tutaj możecie użyć jakiegoś gotowca lub zaimplementować własny prosty algorytm - proponujemy np. MINIMAX :) Powodzenia! ##### W trakcie trwania projektu należy wyznaczyć w zespole następujące role + tak jak opisano w przypadku poprzedniego projektu. -Product Owner & Dev Manager odpowiada za ustalenie zadań dla zespołu, które umożliwią wykonanie aplikacji zgodnie z wymaganiami. +Product Owner & Dev Manager odpowiada za ustalenie zadań dla zespołu, które umożliwią wykonanie aplikacji zgodnie z wymaganiami. Oczywiście nie musi, a nawet nie powinien tego robić sam (nieoceniona będzie pomoc Tech Leadera i oczywiście opinia Klienta - pamiętajcie o jego cennym czasie i nie angażujcie w każdą dyskusję). -Można zorganizować spotkanie osób pełniących role w zespole, albo nawet całego zespołu. +Można zorganizować spotkanie osób pełniących role w zespole, albo nawet całego zespołu. W tym projekcie dobrze też zacząć estymować zadania wspólnie z zespołem. Jednakże mentor może zaproponować swój tryb pracy. Skupcie się na jakości wykonania i pracy zespołowej. Niektóre wymagania mogą przypominać Wam poprzedni projekt, więc czasem może być warto wykorzystać już posiadaną wiedzę. ##### Sposób oceny projektu (i wszystkich kolejnych projektów na CodersCamp) + tak jak opisano w przypadku poprzedniego projektu. ## Gra w Szachy + Teraz przechodzimy do przykładowego projektu, który został przygotowany przez organizatorów kursu. Proponowany projekt pozwala na zastosowania większości umiejętności, jakie powinniście posiąść w trakcie przerabiania działu. Jednakże jeśli macie pomysł na projekt podobnej skali, który spełni opisane na górze wymagania i czujecie się na siłach @@ -45,13 +48,14 @@ w zdefiniowaniu funkcjonalności, przygotowaniu ekranów i podzieleniu go na zad aby wykonać np. coś związanego z zainteresowaniami Waszej grupy :) Przykładem może być też jakaś inna gra — np. Chińczyk. Niech nic nie stoi na przeszkodzie waszej kreatywności. Pamiętajcie tylko, że czas jest ograniczony i musicie zdążyć z aplikacją do prezentacji. Powodzenia! - + Czas porzucić narrację CodersCamp i wcielić się w członka zespołu projektowego... ### Założenia projektowe + W trakcie projektu stajecie przed większym (lub mniejszym — jak kto woli) wyzwaniem. Teraz nie macie niestety ani linijki już gotowego kodu. Brak też podzielonych zadań. Swoją pracę zaczynacie w tzw. projekcie greenfield, czyli totalnie od zera. -Pozwala to na większą dowolność, ale też wymaga na początku większego nakładu pracy i jest wąskim gardłem. +Pozwala to na większą dowolność, ale też wymaga na początku większego nakładu pracy i jest wąskim gardłem. Jako zespół musicie podjąć odpowiednie decyzje na samym początku i postarać się jak najszybciej umożliwić pracę wielu osobom naraz. Szachy są coraz bardziej popularne wśród przedsiębiorców. Odbywają się nawet Mistrzostwa Polski dla osób prowadzące własne działalności. @@ -61,11 +65,11 @@ Dlatego wasz zespół został poproszony o przygotowanie mechanizmu szachów, kt Oczywiście jest to o wiele większy projekt, dlatego Wy odpowiadacie tylko za sam mechanizm szachów w przeglądarce. Nie skupiacie się na kwestiach gry wielu graczy przez internet. Zostanie to na bazie waszego prototypu zrealizowanie później. -Ponieważ aplikacja ma być sygnowana przez CodersCrew, spróbujcie przygotować ją zgodnie z identyfikacją wizualną stowarzyszenia - Brand Book znajdziecie [TUTAJ](https://www.behance.net/gallery/94155751/Brand-Book-Project). -Nie jest to konieczność, ale fajna możliwość wypróbowania swojej skuteczności z takim wymaganiem (które jest częste w praktyce). - +Ponieważ aplikacja ma być sygnowana przez CodersCrew, spróbujcie przygotować ją zgodnie z identyfikacją wizualną stowarzyszenia - Brand Book znajdziecie [TUTAJ](https://www.behance.net/gallery/94155751/Brand-Book-Project). +Nie jest to konieczność, ale fajna możliwość wypróbowania swojej skuteczności z takim wymaganiem (które jest częste w praktyce). Lista funkcjonalności, jakie należy zaimplementować w silniku gry (od najważniejszych): + 1. Ruchy wszystkich bierek (wykonanie ruchu, jak i pokazywanie możliwych): - Pionek - Hetman @@ -83,13 +87,13 @@ Lista funkcjonalności, jakie należy zaimplementować w silniku gry (od najważ - `Gracz Czarny dokonał promocji Pionka na Hetmana na polu A1. Szach białego Króla!` - `Gracz Biały wykonał roszadę po stronie królowej.` 1. Kończenie gry przez Pat: https://www.chess.com/pl/article/view/czym-jest-pat-szachowe-terminy - + Uwaga: Pamiętajcie, że na ruchy bierek, promocję pionka i możliwość roszady wpływa na szachowanie króla. Najlepiej zagrajcie kilka partii w zespole, żeby zapoznać się z tą domeną. No chyba, że macie w swoim zespole eksperta? -Dokładnie poznajcie domenę, w jakiej działa wasze oprogramowanie, czyli grę w szachy, aby nie wprowadzić jakiegoś zachowania niezgodnego z zasadami i żeby nic nie przeoczyć. +Dokładnie poznajcie domenę, w jakiej działa wasze oprogramowanie, czyli grę w szachy, aby nie wprowadzić jakiegoś zachowania niezgodnego z zasadami i żeby nic nie przeoczyć. Starajcie się przewidzieć przypadki brzegowe i zaimplementujcie do nich odpowiednie testy. **Jeśli macie w swoim zespole osobę chętną na przygotowanie designów, to także możecie UI zrobić kompletnie inaczej.** -A jeśli nie, to możecie się wzorować na przedstawionych [TUTAJ - Link do Figma](https://www.figma.com/file/ZllWbpJCCCCKVl7QEfNWbl/CodersCamp2020.Project.TypeScript.Chess?node-id=4461%3A3896). +A jeśli nie, to możecie się wzorować na przedstawionych [TUTAJ - Link do Figma](https://www.figma.com/file/ZllWbpJCCCCKVl7QEfNWbl/CodersCamp2020.Project.TypeScript.Chess?node-id=4461%3A3896). Jednakże brakuje takich rzeczy jak np. wczytywanie / zapisywanie partii, wyświetlanie możliwych ruchów, podświetlanie wybranego pionka, zaznaczenie szachowanego króla czy wybór podczas promowania pionka. Co powinniście zaprojektować w ramach wykonywania aplikacji. Na projekcie z Figmy znalazło się też kilka rzeczy związanych z dodatkowymi funkcjonalnościami. Szczegóły co będziecie realizować - ustalcie z klientem. Waszym zadaniem będzie zaimplementować aplikację, aby działała wg wymagań klienta, a także przygotować i wykonać @@ -99,17 +103,18 @@ Klient nie chce ponosić za to żadnych dodatkowych kosztów, dlatego należy wy uruchomienie takiej aplikacji (np. GitHub Pages lub Netlify). Klient wymaga także, aby aplikacja nie tylko działała, ale była odpowiednio pokryta testami. Naprawdę macie szczęście co do klienta! Wielu uważa testy za niepotrzebne i jedynie stratę pieniędzy. -A co znaczy „odpowiednio pokryta”, to już należy właśnie ustalić z samym Klientem :) +A co znaczy „odpowiednio pokryta”, to już należy właśnie ustalić z samym Klientem :) ## Możliwe usprawnienia i dodatkowe funkcjonalności: -Jeśli starczy czasu, dla własnego rozwoju warto rozważyć wykonanie poniższych funkcjonalności. + +Jeśli starczy czasu, dla własnego rozwoju warto rozważyć wykonanie poniższych funkcjonalności. 1. Bicie w przelocie: https://www.chess.com/pl/article/view/bicie-w-przelocie-specjalne-ruchy-w-szachach 1. Wczytywanie i zapisywanie stanu partii (szachownica, czas graczy itp.) - po wczytaniu musi być możliwe cofanie ruchów. Stan partii powinien zapisywać się automatycznie co wykonany ruch. 1. Tworzenie nowej partii z aktualnego stanu partii. Gra nie może być zakończona. 1. Możliwość wyboru nieskończonego czasu gry lub szachów błyskawicznych (czas ograniczony dla każdego z graczy). 1. Odliczanie czasu dla każdej ze stron (cofanie ruchu musi cofać czas do stanu sprzed ruchu) w przypadku szachów błyskawicznych. -1. Dodatkowy czas doliczany do limitu czasowego gracza za każdy ruch (propocjonalny do długości całej patrii). +1. Dodatkowy czas doliczany do limitu czasowego gracza za każdy ruch (propocjonalny do długości całej patrii). 1. Kończenie gry przez limit czasowy - gracz, któremu skończył się czas przegrywa. Nie rozpatrujemy przypadku remisu. 1. Dwie wersje językowe gry — Polska i Angielska. 1. Ładowanie stanu początkowego z np. notacji FEN (https://pl.wikipedia.org/wiki/Notacja_Forsytha-Edwardsa) i/lub tablicy emojis. @@ -117,6 +122,7 @@ Jeśli starczy czasu, dla własnego rozwoju warto rozważyć wykonanie poniższy 1. Głosowe wykonywanie ruchów. Np. gracz mówi: "Pion na A3". ## Dodatkowe zadania (wykraczające poza zakres kursu): + 1. Rozgrywka z komputerem - sztuczna inteligencja. Można wykorzystać np. algorytm minimax. Skorzystajcie z źródeł: - https://alialaa.com/blog/tic-tac-toe-js-minimax - https://www.youtube.com/watch?v=l-hh51ncgDI @@ -129,9 +135,10 @@ Wszelkie inne dodane przez Was funkcjonalności czy usprawnienia infrastruktural Template znajdziecie w poprzednim projekcie. ## Porady odnośnie do projektu + - Warto zapozań się z możliwościami kończenia partii szachowych (nie wszystko jest wymagane). - - [How Chess Games Can End: 8 Ways Explained](https://www.chess.com/article/view/how-chess-games-can-end-8-ways-explained) + - [How Chess Games Can End: 8 Ways Explained](https://www.chess.com/article/view/how-chess-games-can-end-8-ways-explained) - Jako inspirację można wykorzystać też działanie szachów zaimplementowanych przez zespół mentora Marcina Wosia na poprzednim CodersCamp (UWAGA: Wymagania mogły ulec zmianie) - - https://captainobjective.github.io/chessGame/ + - https://captainobjective.github.io/chessGame/ - Dla testów może warto wykorzystać trochę reprezentacji wizualnej. Co powiecie na emoji :) ? Post mentora Mateusza Nowaka. - - [Emoji-Driven Development | ZycieNaKodach.pl](https://zycienakodach.pl/tdd-dsl-szachy-emojis) + - [Emoji-Driven Development | ZycieNaKodach.pl](https://zycienakodach.pl/tdd-dsl-szachy-emojis) diff --git a/package.json b/package.json index 683e92c..63ae86d 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "start:dev": "parcel -p 7575 index.html --open", "test": "jest", "test:watch": "jest --watch", - "test:cov": "jest --coverage" + "test:cov": "jest --coverage", + "test:ci": "jest --ci --silent --coverage" }, "repository": { "type": "git", @@ -71,7 +72,7 @@ "ts" ], "testRegex": "(spec|test)[.]ts", - "coverageDirectory": "../coverage", + "coverageDirectory": "./coverage", "setupFiles": [ "./test/setupJest.ts" ], From 30d9a33b0d338778326fa525f89f81518e2c98c4 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 22:58:46 +0100 Subject: [PATCH 026/134] Fix tests for BLACK side --- test/app/model/Pawn.spec.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts index 6c426e2..d003338 100644 --- a/test/app/model/Pawn.spec.ts +++ b/test/app/model/Pawn.spec.ts @@ -145,7 +145,9 @@ describe('Pawn movement', () => { }); it('Check possible squares to go, when BLACK Pawn is on E7 and there is black piece on E6', () => { - const testBoard = emptyBoard; + const testBoard = boardWithPieces({ + E6: { id: 'testId', side: 'BLACK' }, + }); const expectedPossibleMoves = [] as Square[]; const pawn = new Pawn('testId', 'BLACK'); const pawnPosition: Square = { column: 'E', row: 7 }; @@ -154,7 +156,9 @@ describe('Pawn movement', () => { }); it('Check possible squares to go, when BLACK Pawn is on E7 and there is black piece on E5', () => { - const testBoard = emptyBoard; + const testBoard = boardWithPieces({ + E5: { id: 'testId', side: 'BLACK' }, + }); const expectedPossibleMoves = [{ column: 'E', row: 6 }]; const pawn = new Pawn('testId', 'BLACK'); const pawnPosition: Square = { column: 'E', row: 7 }; @@ -163,7 +167,9 @@ describe('Pawn movement', () => { }); it('Check possible squares to go, when BLACK Pawn is on E7 and there is white piece on D6', () => { - const testBoard = emptyBoard; + const testBoard = boardWithPieces({ + D6: { id: 'testId', side: 'WHITE' }, + }); const expectedPossibleMoves = [ { column: 'E', row: 6 }, { column: 'E', row: 5 }, From e53c1b6a6627b4ad96c80ed0953887932c997a43 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 29 Jan 2021 23:00:18 +0100 Subject: [PATCH 027/134] Add BLACK Pawns movement --- src/app/model/Pawn.ts | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 1e5b6b9..e239f5c 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -5,8 +5,12 @@ import { PieceMovement } from './PieceMovement'; import { Column, columns, Row, Side, Square } from './Types'; export class Pawn extends Piece implements PieceMovement { + private nextRowDifference: number = 1; + constructor(id: string, side: Side) { super(id, side); + if (this.side !== 'WHITE') this.nextRowDifference = -1; + console.log(this.nextRowDifference); } possibleMoves(position: Square, board: Board): Square[] { @@ -17,20 +21,21 @@ export class Pawn extends Piece implements PieceMovement { private goAhead(position: Square, board: Board): Square[] { const movesToGo: Square[] = []; - if (!board.onPositionPiece({ column: position.column, row: (position.row + 1) as Row })) { - movesToGo.push({ column: position.column, row: (position.row + 1) as Row }); + if (!board.onPositionPiece({ column: position.column, row: (position.row + 1 * this.nextRowDifference) as Row })) { + movesToGo.push({ column: position.column, row: (position.row + 1 * this.nextRowDifference) as Row }); } return movesToGo; } private goDoubleAhead(position: Square, board: Board): Square[] { const movesToGo: Square[] = []; - if (position.row === 2) { + if ((position.row === 2 && this.side === 'WHITE') || (position.row === 7 && this.side === 'BLACK')) { + // console.log() if ( - !board.onPositionPiece({ column: position.column, row: (position.row + 1) as Row }) && - !board.onPositionPiece({ column: position.column, row: (position.row + 2) as Row }) + !board.onPositionPiece({ column: position.column, row: (position.row + 1 * this.nextRowDifference) as Row }) && + !board.onPositionPiece({ column: position.column, row: (position.row + 2 * this.nextRowDifference) as Row }) ) { - movesToGo.push({ column: position.column, row: (position.row + 2) as Row }); + movesToGo.push({ column: position.column, row: (position.row + 2 * this.nextRowDifference) as Row }); } } return movesToGo; @@ -42,17 +47,17 @@ export class Pawn extends Piece implements PieceMovement { const currentRowNumber = position.row; if ( - board.onPositionPiece({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1) as Row }) && - this.checkIfOponent(columns[currentColumnNumber + 1], (currentRowNumber + 1) as Row, board) + board.onPositionPiece({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1 * this.nextRowDifference) as Row }) && + this.checkIfOponent(columns[currentColumnNumber + 1], (currentRowNumber + 1 * this.nextRowDifference) as Row, board) ) { - movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1) as Row }); + movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1 * this.nextRowDifference) as Row }); } if ( - board.onPositionPiece({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1) as Row }) && - this.checkIfOponent(columns[currentColumnNumber - 1], (currentRowNumber + 1) as Row, board) + board.onPositionPiece({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1 * this.nextRowDifference) as Row }) && + this.checkIfOponent(columns[currentColumnNumber - 1], (currentRowNumber + 1 * this.nextRowDifference) as Row, board) ) { - movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1) as Row }); + movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1 * this.nextRowDifference) as Row }); } return movesToGo; From 7ec2aeebc0e29a224dffa766ea639a73e199a8cf Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Fri, 29 Jan 2021 23:40:12 +0100 Subject: [PATCH 028/134] GitHub Actions | Upload dist only on success --- .github/workflows/node.js.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 3668108..3538166 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -25,11 +25,9 @@ jobs: - run: npm run test:ci - uses: actions/upload-artifact@v1 name: Upload build as artifact - if: always() with: name: chess-dist path: ./dist - - name: Upload test coverage report to Codecov uses: codecov/codecov-action@v1 with: From bff78512b964d208e7e9124377f2e837441f2774 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 00:10:17 +0100 Subject: [PATCH 029/134] Update after Code Review --- src/app/model/Pawn.ts | 13 ++++++++----- test/app/model/Pawn.spec.ts | 1 - 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index e239f5c..94f5189 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -1,16 +1,20 @@ import { Board } from './Board'; -import { BOARDSIZE } from './Constances'; import { Piece } from './Piece'; import { PieceMovement } from './PieceMovement'; import { Column, columns, Row, Side, Square } from './Types'; +const NEXT_ROW_DIFFERENCE = { + WHITE: 1, + BLACK: -1, +}; + export class Pawn extends Piece implements PieceMovement { - private nextRowDifference: number = 1; + private nextRowDifference = 1; constructor(id: string, side: Side) { - super(id, side); + super('uselessId', side); if (this.side !== 'WHITE') this.nextRowDifference = -1; - console.log(this.nextRowDifference); + this.nextRowDifference = this.side === 'WHITE' ? NEXT_ROW_DIFFERENCE.WHITE : NEXT_ROW_DIFFERENCE.BLACK; } possibleMoves(position: Square, board: Board): Square[] { @@ -64,7 +68,6 @@ export class Pawn extends Piece implements PieceMovement { } private checkIfOponent(columnPosition: Column, rowPosition: Row, board: Board): boolean { - // ! nie rozumiem tego znaka zapytania na końcu return board.onPositionPiece({ column: columnPosition, row: rowPosition })?.side !== this.side; } } diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts index d003338..a55fbc3 100644 --- a/test/app/model/Pawn.spec.ts +++ b/test/app/model/Pawn.spec.ts @@ -1,6 +1,5 @@ import { Pawn } from '../../../src/app/model/Pawn'; import { Square } from '../../../src/app/model/Types'; -import { Board } from '../../../src/app/model/Board'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; From 1a375a36b02b1e6d7e12abad5ac5395869a9c951 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 01:19:29 +0100 Subject: [PATCH 030/134] Add tests of non-limited Knight's movements by other pieces --- src/app/model/Knight.ts | 15 +++++++ test/app/model/Knight.spec.ts | 84 +++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 src/app/model/Knight.ts create mode 100644 test/app/model/Knight.spec.ts diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts new file mode 100644 index 0000000..e05d56b --- /dev/null +++ b/src/app/model/Knight.ts @@ -0,0 +1,15 @@ +import { Board } from './Board'; +import { Piece } from './Piece'; +import { PieceMovement } from './PieceMovement'; +import { Column, columns, Row, Side, Square } from './Types'; + +export class Knight extends Piece implements PieceMovement { + constructor(id: string, side: Side) { + super('uselessId', side); + } + + possibleMoves(position: Square, board: Board): Square[] { + const movesToGo = [] as Square[]; + return movesToGo; + } +} diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts new file mode 100644 index 0000000..b74f282 --- /dev/null +++ b/test/app/model/Knight.spec.ts @@ -0,0 +1,84 @@ +import { Knight } from '../../../src/app/model/Knight'; +import { Square } from '../../../src/app/model/Types'; +import 'jest-extended'; +import { boardWithPieces, emptyBoard } from './BoardFixture'; + +describe('Knight movement', () => { + it("Check possible squares to go, when Knight is on F3 and there is no pieces on Knight's final movement squares", () => { + const testPiece = new Knight('testId', 'WHITE'); + const testPiecePosition: Square = { column: 'F', row: 3 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); + + const expectedPossibleMoves = [ + { column: 'E', row: 5 }, + { column: 'G', row: 5 }, + { column: 'C', row: 4 }, + { column: 'H', row: 4 }, + { column: 'C', row: 2 }, + { column: 'H', row: 2 }, + { column: 'E', row: 1 }, + { column: 'G', row: 1 }, + ]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when Knight is on C2 and there is no pieces on Knight's final movement squares", () => { + const testPiece = new Knight('testId', 'WHITE'); + const testPiecePosition: Square = { column: 'C', row: 2 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); + + const expectedPossibleMoves = [ + { column: 'A', row: 1 }, + { column: 'A', row: 3 }, + { column: 'B', row: 4 }, + { column: 'D', row: 4 }, + { column: 'C', row: 1 }, + { column: 'C', row: 3 }, + ]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when Knight is on B2 and there is no pieces on Knight's final movement squares", () => { + const testPiece = new Knight('testId', 'WHITE'); + const testPiecePosition: Square = { column: 'B', row: 2 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); + + const expectedPossibleMoves = [ + { column: 'D', row: 1 }, + { column: 'D', row: 3 }, + { column: 'A', row: 4 }, + { column: 'C', row: 4 }, + ]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when Knight is on F3 and there is no pieces on Knight's final movement squares but there are pieces directly around of Knight", () => { + const testBoard = boardWithPieces({ + E2: { id: 'testId', side: 'WHITE' }, + E3: { id: 'testId', side: 'WHITE' }, + F4: { id: 'testId', side: 'BLACK' }, + F2: { id: 'testId', side: 'BLACK' }, + G2: { id: 'testId', side: 'BLACK' }, + G3: { id: 'testId', side: 'WHITE' }, + }); + const testPiece = new Knight('testId', 'WHITE'); + const testPiecePosition: Square = { column: 'F', row: 3 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); + + const expectedPossibleMoves = [ + { column: 'E', row: 5 }, + { column: 'G', row: 5 }, + { column: 'C', row: 4 }, + { column: 'H', row: 4 }, + { column: 'C', row: 2 }, + { column: 'H', row: 2 }, + { column: 'E', row: 1 }, + { column: 'G', row: 1 }, + ]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); +}); From 937e67db81daf7b63b2cf147f08db400a6178808 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 10:38:44 +0100 Subject: [PATCH 031/134] Fix mistake in square name and sort squares by names --- test/app/model/Knight.spec.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index b74f282..ad90802 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -11,14 +11,14 @@ describe('Knight movement', () => { const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); const expectedPossibleMoves = [ + { column: 'D', row: 2 }, + { column: 'D', row: 4 }, + { column: 'E', row: 1 }, { column: 'E', row: 5 }, + { column: 'G', row: 1 }, { column: 'G', row: 5 }, - { column: 'C', row: 4 }, - { column: 'H', row: 4 }, - { column: 'C', row: 2 }, { column: 'H', row: 2 }, - { column: 'E', row: 1 }, - { column: 'G', row: 1 }, + { column: 'H', row: 4 }, ]; expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -47,10 +47,10 @@ describe('Knight movement', () => { const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); const expectedPossibleMoves = [ - { column: 'D', row: 1 }, - { column: 'D', row: 3 }, { column: 'A', row: 4 }, { column: 'C', row: 4 }, + { column: 'D', row: 1 }, + { column: 'D', row: 3 }, ]; expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -70,14 +70,14 @@ describe('Knight movement', () => { const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); const expectedPossibleMoves = [ + { column: 'C', row: 2 }, + { column: 'C', row: 4 }, { column: 'E', row: 5 }, + { column: 'E', row: 1 }, { column: 'G', row: 5 }, - { column: 'C', row: 4 }, + { column: 'G', row: 1 }, { column: 'H', row: 4 }, - { column: 'C', row: 2 }, { column: 'H', row: 2 }, - { column: 'E', row: 1 }, - { column: 'G', row: 1 }, ]; expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); From 4bf4e087f790e385ad6f421d3cdafbd384eee218 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 10:53:48 +0100 Subject: [PATCH 032/134] Finish tests --- test/app/model/Knight.spec.ts | 96 +++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index ad90802..1313f71 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -81,4 +81,100 @@ describe('Knight movement', () => { ]; expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); + + it("Check possible squares to go, when WHITE Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { + const testBoard = boardWithPieces({ + D2: { id: 'testId', side: 'WHITE' }, + }); + const testPiece = new Knight('testId', 'WHITE'); + const testPiecePosition: Square = { column: 'F', row: 3 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); + + const expectedPossibleMoves = [ + { column: 'D', row: 4 }, + { column: 'E', row: 1 }, + { column: 'E', row: 5 }, + { column: 'G', row: 1 }, + { column: 'G', row: 5 }, + { column: 'H', row: 4 }, + { column: 'H', row: 2 }, + ]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when WHITE Knight is on F3 and there is BLACK piece on Knight's final movement square on D2", () => { + const testBoard = boardWithPieces({ + D2: { id: 'testId', side: 'WHITE' }, + }); + const testPiece = new Knight('testId', 'WHITE'); + const testPiecePosition: Square = { column: 'F', row: 3 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); + + const expectedPossibleMoves = [ + { column: 'D', row: 2 }, + { column: 'D', row: 4 }, + { column: 'E', row: 1 }, + { column: 'E', row: 5 }, + { column: 'G', row: 1 }, + { column: 'G', row: 5 }, + { column: 'H', row: 4 }, + { column: 'H', row: 2 }, + ]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { + const testBoard = boardWithPieces({ + D2: { id: 'testId', side: 'WHITE' }, + }); + const testPiece = new Knight('testId', 'BLACK'); + const testPiecePosition: Square = { column: 'F', row: 3 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); + + const expectedPossibleMoves = [ + { column: 'D', row: 2 }, + { column: 'D', row: 4 }, + { column: 'E', row: 1 }, + { column: 'E', row: 5 }, + { column: 'G', row: 1 }, + { column: 'G', row: 5 }, + { column: 'H', row: 4 }, + { column: 'H', row: 2 }, + ]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when BLACK Knight is on A1 and there is WHITE piece on Knight's final movement square on G6 and there are BLACK pieces on F6, F7, F8, H7", () => { + const testBoard = boardWithPieces({ + G6: { id: 'testId', side: 'WHITE' }, + F6: { id: 'testId', side: 'BLACK' }, + F7: { id: 'testId', side: 'BLACK' }, + F8: { id: 'testId', side: 'BLACK' }, + H7: { id: 'testId', side: 'BLACK' }, + }); + const testPiece = new Knight('testId', 'BLACK'); + const testPiecePosition: Square = { column: 'A', row: 1 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); + + const expectedPossibleMoves = [{ column: 'G', row: 6 }]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + + it("Check possible squares to go, when BLACK Knight is on A1 and there is BLACK pieces on Knight's final movement squares on G6 and F7 - no movement", () => { + const testBoard = boardWithPieces({ + G6: { id: 'testId', side: 'BLACK' }, + F6: { id: 'testId', side: 'BLACK' }, + }); + const testPiece = new Knight('testId', 'BLACK'); + const testPiecePosition: Square = { column: 'A', row: 1 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); + + const expectedPossibleMoves = [] as Square[]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); }); From af9128dfba95c5ee117901aaf74997502e138366 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 11:37:56 +0100 Subject: [PATCH 033/134] Add Knight's moves on empty Board --- src/app/model/Knight.ts | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts index e05d56b..2a2f3e3 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/Knight.ts @@ -1,5 +1,6 @@ import { Board } from './Board'; import { Piece } from './Piece'; +import { BOARDSIZE } from './Constances'; import { PieceMovement } from './PieceMovement'; import { Column, columns, Row, Side, Square } from './Types'; @@ -9,7 +10,43 @@ export class Knight extends Piece implements PieceMovement { } possibleMoves(position: Square, board: Board): Square[] { - const movesToGo = [] as Square[]; + let movesToGo = [] as Square[]; + // TODO: wypisz wszystkie pola + movesToGo = movesToGo.concat(this.movesOnEmptyBoard(position, board)); + // TODO: usuń pola zajęte + return movesToGo; + } + + private movesOnEmptyBoard(position: Square, board: Board): Square[] { + const movesToGo: Square[] = []; + const currentColumnNumber = columns.indexOf(position.column); + const currentRowNumber = position.row; + + if (currentColumnNumber + 2 < BOARDSIZE && currentRowNumber + 1 < BOARDSIZE) { + movesToGo.push({ column: columns[currentColumnNumber + 2], row: (currentRowNumber + 1) as Row }); + } + if (currentColumnNumber + 2 < BOARDSIZE && currentRowNumber - 1 < BOARDSIZE) { + movesToGo.push({ column: columns[currentColumnNumber + 2], row: (currentRowNumber - 1) as Row }); + } + if (currentColumnNumber + 1 < BOARDSIZE && currentRowNumber + 2 < BOARDSIZE) { + movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 2) as Row }); + } + if (currentColumnNumber + 1 < BOARDSIZE && currentRowNumber - 2 < BOARDSIZE) { + movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber - 2) as Row }); + } + if (currentColumnNumber - 1 < BOARDSIZE && currentRowNumber + 2 < BOARDSIZE) { + movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 2) as Row }); + } + if (currentColumnNumber - 1 < BOARDSIZE && currentRowNumber - 2 < BOARDSIZE) { + movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber - 2) as Row }); + } + if (currentColumnNumber - 2 < BOARDSIZE && currentRowNumber + 1 < BOARDSIZE) { + movesToGo.push({ column: columns[currentColumnNumber - 2], row: (currentRowNumber + 1) as Row }); + } + if (currentColumnNumber - 2 < BOARDSIZE && currentRowNumber - 1 < BOARDSIZE) { + movesToGo.push({ column: columns[currentColumnNumber - 2], row: (currentRowNumber - 1) as Row }); + } + return movesToGo; } } From 50a5120c84ad614a4ab522341ec27938cd2f3ed2 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 12:12:03 +0100 Subject: [PATCH 034/134] Fix test - wrong expected position --- test/app/model/Knight.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index 1313f71..ef8d7b6 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -34,8 +34,8 @@ describe('Knight movement', () => { { column: 'A', row: 3 }, { column: 'B', row: 4 }, { column: 'D', row: 4 }, - { column: 'C', row: 1 }, - { column: 'C', row: 3 }, + { column: 'E', row: 1 }, + { column: 'E', row: 3 }, ]; expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); From fab43940750987e46a042b27b3184cc9ddd6d46c Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 12:17:11 +0100 Subject: [PATCH 035/134] Add new necessary chessboard border test --- test/app/model/Knight.spec.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index ef8d7b6..07e5173 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -40,6 +40,21 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); + it("Check possible squares to go, when Knight is on G7 and there is no pieces on Knight's final movement squares", () => { + const testPiece = new Knight('testId', 'WHITE'); + const testPiecePosition: Square = { column: 'G', row: 7 }; + + const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); + + const expectedPossibleMoves = [ + { column: 'E', row: 6 }, + { column: 'E', row: 8 }, + { column: 'F', row: 5 }, + { column: 'H', row: 5 }, + ]; + expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + }); + it("Check possible squares to go, when Knight is on B2 and there is no pieces on Knight's final movement squares", () => { const testPiece = new Knight('testId', 'WHITE'); const testPiecePosition: Square = { column: 'B', row: 2 }; From 23fdd01271c5dbbdd95ae18116c70deca39f02f5 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 12:24:09 +0100 Subject: [PATCH 036/134] Fix test with BLACK Knight position --- test/app/model/Knight.spec.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index 07e5173..4ce423c 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -162,7 +162,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when BLACK Knight is on A1 and there is WHITE piece on Knight's final movement square on G6 and there are BLACK pieces on F6, F7, F8, H7", () => { + it("Check possible squares to go, when BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on G6 and there are BLACK pieces on F6, F7, F8, H7", () => { const testBoard = boardWithPieces({ G6: { id: 'testId', side: 'WHITE' }, F6: { id: 'testId', side: 'BLACK' }, @@ -171,7 +171,7 @@ describe('Knight movement', () => { H7: { id: 'testId', side: 'BLACK' }, }); const testPiece = new Knight('testId', 'BLACK'); - const testPiecePosition: Square = { column: 'A', row: 1 }; + const testPiecePosition: Square = { column: 'H', row: 8 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); @@ -179,13 +179,13 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when BLACK Knight is on A1 and there is BLACK pieces on Knight's final movement squares on G6 and F7 - no movement", () => { + it("Check possible squares to go, when BLACK Knight is on H8 and there is BLACK pieces on Knight's final movement squares on G6 and F7 - no movement", () => { const testBoard = boardWithPieces({ G6: { id: 'testId', side: 'BLACK' }, - F6: { id: 'testId', side: 'BLACK' }, + F7: { id: 'testId', side: 'BLACK' }, }); const testPiece = new Knight('testId', 'BLACK'); - const testPiecePosition: Square = { column: 'A', row: 1 }; + const testPiecePosition: Square = { column: 'H', row: 8 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); From 56be86bc4f2c372a9d509e6d5f3d3b1c315bda9b Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 12:24:45 +0100 Subject: [PATCH 037/134] Fix possible moves on empty chessboard. Add check function of chessboard borders --- src/app/model/Knight.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts index 2a2f3e3..ed9172b 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/Knight.ts @@ -22,31 +22,37 @@ export class Knight extends Piece implements PieceMovement { const currentColumnNumber = columns.indexOf(position.column); const currentRowNumber = position.row; - if (currentColumnNumber + 2 < BOARDSIZE && currentRowNumber + 1 < BOARDSIZE) { + if (this.isWithinChessboardBorders(currentColumnNumber + 2, currentRowNumber + 1)) { movesToGo.push({ column: columns[currentColumnNumber + 2], row: (currentRowNumber + 1) as Row }); } - if (currentColumnNumber + 2 < BOARDSIZE && currentRowNumber - 1 < BOARDSIZE) { + if (this.isWithinChessboardBorders(currentColumnNumber + 2, currentRowNumber - 1)) { movesToGo.push({ column: columns[currentColumnNumber + 2], row: (currentRowNumber - 1) as Row }); } - if (currentColumnNumber + 1 < BOARDSIZE && currentRowNumber + 2 < BOARDSIZE) { + if (this.isWithinChessboardBorders(currentColumnNumber + 1, currentRowNumber + 2)) { movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 2) as Row }); } - if (currentColumnNumber + 1 < BOARDSIZE && currentRowNumber - 2 < BOARDSIZE) { + if (this.isWithinChessboardBorders(currentColumnNumber + 1, currentRowNumber - 2)) { movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber - 2) as Row }); } - if (currentColumnNumber - 1 < BOARDSIZE && currentRowNumber + 2 < BOARDSIZE) { + if (this.isWithinChessboardBorders(currentColumnNumber - 1, currentRowNumber + 2)) { movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 2) as Row }); } - if (currentColumnNumber - 1 < BOARDSIZE && currentRowNumber - 2 < BOARDSIZE) { + if (this.isWithinChessboardBorders(currentColumnNumber - 1, currentRowNumber - 2)) { movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber - 2) as Row }); } - if (currentColumnNumber - 2 < BOARDSIZE && currentRowNumber + 1 < BOARDSIZE) { + if (this.isWithinChessboardBorders(currentColumnNumber - 2, currentRowNumber + 1)) { movesToGo.push({ column: columns[currentColumnNumber - 2], row: (currentRowNumber + 1) as Row }); } - if (currentColumnNumber - 2 < BOARDSIZE && currentRowNumber - 1 < BOARDSIZE) { + if (this.isWithinChessboardBorders(currentColumnNumber - 2, currentRowNumber - 1)) { movesToGo.push({ column: columns[currentColumnNumber - 2], row: (currentRowNumber - 1) as Row }); } return movesToGo; } + + private isWithinChessboardBorders(checkedColumnNumber: number, checkedRowNumber: number): boolean { + return checkedColumnNumber < BOARDSIZE && checkedColumnNumber >= 0 && checkedRowNumber <= BOARDSIZE && checkedRowNumber > 0; + } } + +// Fix possible moves on empty chessboard. Add check function of chessboard borders From 0158fe723d9082b567f20642d0883ae135e008aa Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 12:46:58 +0100 Subject: [PATCH 038/134] Fix tests (color and position mistakes) --- test/app/model/Knight.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index 4ce423c..4523175 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -85,8 +85,8 @@ describe('Knight movement', () => { const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); const expectedPossibleMoves = [ - { column: 'C', row: 2 }, - { column: 'C', row: 4 }, + { column: 'D', row: 2 }, + { column: 'D', row: 4 }, { column: 'E', row: 5 }, { column: 'E', row: 1 }, { column: 'G', row: 5 }, @@ -120,7 +120,7 @@ describe('Knight movement', () => { it("Check possible squares to go, when WHITE Knight is on F3 and there is BLACK piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ - D2: { id: 'testId', side: 'WHITE' }, + D2: { id: 'testId', side: 'BLACK' }, }); const testPiece = new Knight('testId', 'WHITE'); const testPiecePosition: Square = { column: 'F', row: 3 }; From 2f021ee607979d40eb85c248da6d2d819e8ef1fb Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 12:51:12 +0100 Subject: [PATCH 039/134] Add removing Impossible squares from empty board movesToGo array --- src/app/model/Knight.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts index ed9172b..198804b 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/Knight.ts @@ -11,9 +11,9 @@ export class Knight extends Piece implements PieceMovement { possibleMoves(position: Square, board: Board): Square[] { let movesToGo = [] as Square[]; - // TODO: wypisz wszystkie pola movesToGo = movesToGo.concat(this.movesOnEmptyBoard(position, board)); // TODO: usuń pola zajęte + movesToGo = this.removeImpossibleSquares(movesToGo, board); return movesToGo; } @@ -53,6 +53,11 @@ export class Knight extends Piece implements PieceMovement { private isWithinChessboardBorders(checkedColumnNumber: number, checkedRowNumber: number): boolean { return checkedColumnNumber < BOARDSIZE && checkedColumnNumber >= 0 && checkedRowNumber <= BOARDSIZE && checkedRowNumber > 0; } -} -// Fix possible moves on empty chessboard. Add check function of chessboard borders + private removeImpossibleSquares(movesToGoOnEmptyBoard: Square[], board: Board): Square[] { + const movesToGo = movesToGoOnEmptyBoard.filter((checkedPosition) => { + return board.onPositionPiece(checkedPosition)?.side !== this.side; + }); + return movesToGo as Square[]; + } +} From 60faded5bea84cf33868650411beeb6330be59d9 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 12:54:36 +0100 Subject: [PATCH 040/134] Update after DeepScan feedback --- src/app/model/Knight.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts index 198804b..feefee3 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/Knight.ts @@ -2,7 +2,7 @@ import { Board } from './Board'; import { Piece } from './Piece'; import { BOARDSIZE } from './Constances'; import { PieceMovement } from './PieceMovement'; -import { Column, columns, Row, Side, Square } from './Types'; +import { columns, Row, Side, Square } from './Types'; export class Knight extends Piece implements PieceMovement { constructor(id: string, side: Side) { From 1c65b04992723eaad68f894bad26e9cc0cac6b9f Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 30 Jan 2021 13:13:52 +0100 Subject: [PATCH 041/134] GitHub Actions | Remove flags from code coverage --- .github/workflows/node.js.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 3538166..9476ce5 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -30,8 +30,6 @@ jobs: path: ./dist - name: Upload test coverage report to Codecov uses: codecov/codecov-action@v1 - with: - flags: chess,coderscamp,coderscamp202,typescript deploy-on-github-pages: name: 'Deploy app to GitHub Pages from develop branch source code' From fcab3202b28f36963301bacf76c32686d15a190c Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 13:14:04 +0100 Subject: [PATCH 042/134] Update tests with "GIVEN WHEN THEN method --- test/app/model/Pawn.spec.ts | 83 +++++++++++++++++++++++++------------ 1 file changed, 56 insertions(+), 27 deletions(-) diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts index a55fbc3..298f4a9 100644 --- a/test/app/model/Pawn.spec.ts +++ b/test/app/model/Pawn.spec.ts @@ -5,19 +5,22 @@ import { boardWithPieces, emptyBoard } from './BoardFixture'; describe('Pawn movement', () => { it("Check possible squares to go, when White Pawn is on D4 and there is no pieces on Pawn's way", () => { - const expectedPossibleMoves = [{ column: 'D', row: 5 }]; const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'D', row: 4 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); + const expectedPossibleMoves = [{ column: 'D', row: 5 }]; expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it("Check possible squares to go, when White Pawn is on D7 and there is no pieces on Pawn's way", () => { - const expectedPossibleMoves = [{ column: 'D', row: 8 }]; const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'D', row: 7 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); + + const expectedPossibleMoves = [{ column: 'D', row: 8 }]; expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -25,13 +28,15 @@ describe('Pawn movement', () => { const testBoard = boardWithPieces({ A5: { id: 'testId', side: 'BLACK' }, }); + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'B', row: 4 }; + + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const expectedPossibleMoves = [ { column: 'A', row: 5 }, { column: 'B', row: 5 }, ]; - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'B', row: 4 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -40,24 +45,28 @@ describe('Pawn movement', () => { A5: { id: 'testId', side: 'BLACK' }, C5: { id: 'testId', side: 'WHITE' }, }); + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'B', row: 4 }; + + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const expectedPossibleMoves = [ { column: 'A', row: 5 }, { column: 'B', row: 5 }, ]; - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'B', row: 4 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it("Check possible squares to go, when White Pawn is on E2 and there is no pieces on Pawn's way", () => { + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'E', row: 2 }; + + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); + const expectedPossibleMoves = [ { column: 'E', row: 3 }, { column: 'E', row: 4 }, ]; - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'E', row: 2 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -65,10 +74,12 @@ describe('Pawn movement', () => { const testBoard = boardWithPieces({ E3: { id: 'testId', side: 'BLACK' }, }); - const expectedPossibleMoves = [] as Square[]; const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + + const expectedPossibleMoves = [] as Square[]; expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -76,10 +87,12 @@ describe('Pawn movement', () => { const testBoard = boardWithPieces({ E4: { id: 'testId', side: 'BLACK' }, }); - const expectedPossibleMoves = [{ column: 'E', row: 3 }]; const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + + const expectedPossibleMoves = [{ column: 'E', row: 3 }]; expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -88,10 +101,12 @@ describe('Pawn movement', () => { E4: { id: 'testId', side: 'BLACK' }, C3: { id: 'testId', side: 'BLACK' }, }); - const expectedPossibleMoves = [{ column: 'E', row: 3 }]; const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + + const expectedPossibleMoves = [{ column: 'E', row: 3 }]; expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -100,13 +115,15 @@ describe('Pawn movement', () => { E4: { id: 'testId', side: 'BLACK' }, D3: { id: 'testId', side: 'BLACK' }, }); + const whitePawn = new Pawn('testId', 'WHITE'); + const whitePawnPosition: Square = { column: 'E', row: 2 }; + + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const expectedPossibleMoves = [ { column: 'E', row: 3 }, { column: 'D', row: 3 }, ]; - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'E', row: 2 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -115,31 +132,37 @@ describe('Pawn movement', () => { D3: { id: 'testId', side: 'WHITE' }, E4: { id: 'testId', side: 'BLACK' }, }); - const expectedPossibleMoves = [{ column: 'E', row: 3 }]; const whitePawn = new Pawn('testId', 'WHITE'); const whitePawnPosition: Square = { column: 'E', row: 2 }; + const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + + const expectedPossibleMoves = [{ column: 'E', row: 3 }]; expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it("Check possible squares to go, when BLACK Pawn is on E2 and there is no pieces on Pawn's way", () => { const testBoard = emptyBoard; - const expectedPossibleMoves = [{ column: 'E', row: 1 }]; const pawn = new Pawn('testId', 'BLACK'); const pawnPosition: Square = { column: 'E', row: 2 }; + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + + const expectedPossibleMoves = [{ column: 'E', row: 1 }]; expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it("Check possible squares to go, when BLACK Pawn is on E7 and there is no pieces on Pawn's way", () => { const testBoard = emptyBoard; + const pawn = new Pawn('testId', 'BLACK'); + const pawnPosition: Square = { column: 'E', row: 7 }; + + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + const expectedPossibleMoves = [ { column: 'E', row: 6 }, { column: 'E', row: 5 }, ]; - const pawn = new Pawn('testId', 'BLACK'); - const pawnPosition: Square = { column: 'E', row: 7 }; - const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -147,10 +170,12 @@ describe('Pawn movement', () => { const testBoard = boardWithPieces({ E6: { id: 'testId', side: 'BLACK' }, }); - const expectedPossibleMoves = [] as Square[]; const pawn = new Pawn('testId', 'BLACK'); const pawnPosition: Square = { column: 'E', row: 7 }; + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + + const expectedPossibleMoves = [] as Square[]; expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -158,10 +183,12 @@ describe('Pawn movement', () => { const testBoard = boardWithPieces({ E5: { id: 'testId', side: 'BLACK' }, }); - const expectedPossibleMoves = [{ column: 'E', row: 6 }]; const pawn = new Pawn('testId', 'BLACK'); const pawnPosition: Square = { column: 'E', row: 7 }; + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + + const expectedPossibleMoves = [{ column: 'E', row: 6 }]; expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); @@ -169,14 +196,16 @@ describe('Pawn movement', () => { const testBoard = boardWithPieces({ D6: { id: 'testId', side: 'WHITE' }, }); + const pawn = new Pawn('testId', 'BLACK'); + const pawnPosition: Square = { column: 'E', row: 7 }; + + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); + const expectedPossibleMoves = [ { column: 'E', row: 6 }, { column: 'E', row: 5 }, { column: 'D', row: 6 }, ]; - const pawn = new Pawn('testId', 'BLACK'); - const pawnPosition: Square = { column: 'E', row: 7 }; - const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); }); From 3febb74a6ebd8b204bf678cbc1e64aa4c1f94bd2 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 30 Jan 2021 13:14:32 +0100 Subject: [PATCH 043/134] GitHub Actions | Flag typescript-project-chess --- .github/workflows/node.js.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 9476ce5..91948dc 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -30,6 +30,8 @@ jobs: path: ./dist - name: Upload test coverage report to Codecov uses: codecov/codecov-action@v1 + with: + flags: typescript-project-chess deploy-on-github-pages: name: 'Deploy app to GitHub Pages from develop branch source code' From 61cffafee19d2b58bd5f4c1137e4b7b446ccc49a Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 30 Jan 2021 13:44:02 +0100 Subject: [PATCH 044/134] Pawn | Refactor possible moves --- src/app/model/Pawn.ts | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 94f5189..c10a8b0 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -3,30 +3,30 @@ import { Piece } from './Piece'; import { PieceMovement } from './PieceMovement'; import { Column, columns, Row, Side, Square } from './Types'; -const NEXT_ROW_DIFFERENCE = { +type RowDifference = 1 | -1; +const NEXT_ROW_DIFFERENCE: { WHITE: RowDifference; BLACK: RowDifference } = { WHITE: 1, BLACK: -1, }; export class Pawn extends Piece implements PieceMovement { - private nextRowDifference = 1; - constructor(id: string, side: Side) { super('uselessId', side); - if (this.side !== 'WHITE') this.nextRowDifference = -1; - this.nextRowDifference = this.side === 'WHITE' ? NEXT_ROW_DIFFERENCE.WHITE : NEXT_ROW_DIFFERENCE.BLACK; + } + + private nextRowDifference(): RowDifference { + return NEXT_ROW_DIFFERENCE[this.side]; } possibleMoves(position: Square, board: Board): Square[] { - let movesToGo: Square[] = [] as Square[]; - movesToGo = movesToGo.concat(this.goAhead(position, board), this.goDoubleAhead(position, board), this.goDiagonalAhead(position, board)); - return movesToGo; + return this.goAhead(position, board).concat(this.goDoubleAhead(position, board)).concat(this.goDiagonalAhead(position, board)); } private goAhead(position: Square, board: Board): Square[] { const movesToGo: Square[] = []; - if (!board.onPositionPiece({ column: position.column, row: (position.row + 1 * this.nextRowDifference) as Row })) { - movesToGo.push({ column: position.column, row: (position.row + 1 * this.nextRowDifference) as Row }); + const aheadSquare = { column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }; + if (!board.onPositionPiece(aheadSquare)) { + movesToGo.push(aheadSquare); } return movesToGo; } @@ -36,10 +36,10 @@ export class Pawn extends Piece implements PieceMovement { if ((position.row === 2 && this.side === 'WHITE') || (position.row === 7 && this.side === 'BLACK')) { // console.log() if ( - !board.onPositionPiece({ column: position.column, row: (position.row + 1 * this.nextRowDifference) as Row }) && - !board.onPositionPiece({ column: position.column, row: (position.row + 2 * this.nextRowDifference) as Row }) + !board.onPositionPiece({ column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }) && + !board.onPositionPiece({ column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }) ) { - movesToGo.push({ column: position.column, row: (position.row + 2 * this.nextRowDifference) as Row }); + movesToGo.push({ column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }); } } return movesToGo; @@ -51,17 +51,17 @@ export class Pawn extends Piece implements PieceMovement { const currentRowNumber = position.row; if ( - board.onPositionPiece({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1 * this.nextRowDifference) as Row }) && - this.checkIfOponent(columns[currentColumnNumber + 1], (currentRowNumber + 1 * this.nextRowDifference) as Row, board) + board.onPositionPiece({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row }) && + this.checkIfOponent(columns[currentColumnNumber + 1], (currentRowNumber + 1 * this.nextRowDifference()) as Row, board) ) { - movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1 * this.nextRowDifference) as Row }); + movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row }); } if ( - board.onPositionPiece({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1 * this.nextRowDifference) as Row }) && - this.checkIfOponent(columns[currentColumnNumber - 1], (currentRowNumber + 1 * this.nextRowDifference) as Row, board) + board.onPositionPiece({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row }) && + this.checkIfOponent(columns[currentColumnNumber - 1], (currentRowNumber + 1 * this.nextRowDifference()) as Row, board) ) { - movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1 * this.nextRowDifference) as Row }); + movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row }); } return movesToGo; From f4b20ad11f3cf154eaea8c8d82413e12d5da337f Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 30 Jan 2021 14:02:58 +0100 Subject: [PATCH 045/134] Pawn | Refactor --- src/app/model/Pawn.ts | 27 +++++++++++---------------- test/app/model/NewFile.ts | 0 2 files changed, 11 insertions(+), 16 deletions(-) create mode 100644 test/app/model/NewFile.ts diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index c10a8b0..00cf505 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -23,26 +23,21 @@ export class Pawn extends Piece implements PieceMovement { } private goAhead(position: Square, board: Board): Square[] { - const movesToGo: Square[] = []; const aheadSquare = { column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }; - if (!board.onPositionPiece(aheadSquare)) { - movesToGo.push(aheadSquare); - } - return movesToGo; + const isPieceOnAheadSquare = board.onPositionPiece(aheadSquare); + return !isPieceOnAheadSquare ? [aheadSquare] : []; } private goDoubleAhead(position: Square, board: Board): Square[] { - const movesToGo: Square[] = []; - if ((position.row === 2 && this.side === 'WHITE') || (position.row === 7 && this.side === 'BLACK')) { - // console.log() - if ( - !board.onPositionPiece({ column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }) && - !board.onPositionPiece({ column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }) - ) { - movesToGo.push({ column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }); - } - } - return movesToGo; + const aheadSquare = { column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }; + const doubleAheadSquare = { column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }; + const canMoveDoubleAhead = + this.isOnStartingPosition(position) && !board.onPositionPiece(aheadSquare) && !board.onPositionPiece(doubleAheadSquare); + return canMoveDoubleAhead ? [doubleAheadSquare] : []; + } + + private isOnStartingPosition(position: Square) { + return (position.row === 2 && this.side === 'WHITE') || (position.row === 7 && this.side === 'BLACK'); } private goDiagonalAhead(position: Square, board: Board): Square[] { diff --git a/test/app/model/NewFile.ts b/test/app/model/NewFile.ts new file mode 100644 index 0000000..e69de29 From 4a87ca9d9101dfba0024c8eb5610b8ff2c1c25a0 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 30 Jan 2021 14:09:56 +0100 Subject: [PATCH 046/134] Pawn | Refactor --- src/app/model/Pawn.ts | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 00cf505..6f8f844 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -1,7 +1,7 @@ import { Board } from './Board'; import { Piece } from './Piece'; import { PieceMovement } from './PieceMovement'; -import { Column, columns, Row, Side, Square } from './Types'; +import { columns, Row, Side, Square } from './Types'; type RowDifference = 1 | -1; const NEXT_ROW_DIFFERENCE: { WHITE: RowDifference; BLACK: RowDifference } = { @@ -45,24 +45,26 @@ export class Pawn extends Piece implements PieceMovement { const currentColumnNumber = columns.indexOf(position.column); const currentRowNumber = position.row; - if ( - board.onPositionPiece({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row }) && - this.checkIfOponent(columns[currentColumnNumber + 1], (currentRowNumber + 1 * this.nextRowDifference()) as Row, board) - ) { - movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row }); + const rightDiagonal: Square = { + column: columns[currentColumnNumber + 1], + row: (currentRowNumber + 1 * this.nextRowDifference()) as Row, + }; + if (board.onPositionPiece(rightDiagonal) && this.checkIfOponent(rightDiagonal, board)) { + movesToGo.push(rightDiagonal); } - if ( - board.onPositionPiece({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row }) && - this.checkIfOponent(columns[currentColumnNumber - 1], (currentRowNumber + 1 * this.nextRowDifference()) as Row, board) - ) { - movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row }); + const leftDiagonal: Square = { + column: columns[currentColumnNumber - 1], + row: (currentRowNumber + 1 * this.nextRowDifference()) as Row, + }; + if (board.onPositionPiece(leftDiagonal) && this.checkIfOponent(leftDiagonal, board)) { + movesToGo.push(leftDiagonal); } return movesToGo; } - private checkIfOponent(columnPosition: Column, rowPosition: Row, board: Board): boolean { - return board.onPositionPiece({ column: columnPosition, row: rowPosition })?.side !== this.side; + private checkIfOponent(position: Square, board: Board): boolean { + return board.onPositionPiece(position)?.side !== this.side; } } From 9caba88b8e5dddebdc7d38d79c63bcd615a517d5 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 30 Jan 2021 14:11:08 +0100 Subject: [PATCH 047/134] Pawn | Refactor --- src/app/model/Pawn.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 6f8f844..d2ccc3f 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -14,10 +14,6 @@ export class Pawn extends Piece implements PieceMovement { super('uselessId', side); } - private nextRowDifference(): RowDifference { - return NEXT_ROW_DIFFERENCE[this.side]; - } - possibleMoves(position: Square, board: Board): Square[] { return this.goAhead(position, board).concat(this.goDoubleAhead(position, board)).concat(this.goDiagonalAhead(position, board)); } @@ -28,6 +24,10 @@ export class Pawn extends Piece implements PieceMovement { return !isPieceOnAheadSquare ? [aheadSquare] : []; } + private nextRowDifference(): RowDifference { + return NEXT_ROW_DIFFERENCE[this.side]; + } + private goDoubleAhead(position: Square, board: Board): Square[] { const aheadSquare = { column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }; const doubleAheadSquare = { column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }; From 27b7ed33ee713cc2450d8fa4691e06b9f4642dda Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 30 Jan 2021 14:30:06 +0100 Subject: [PATCH 048/134] Pawn | Refactor --- src/app/model/Pawn.ts | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index d2ccc3f..1b99c23 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -15,27 +15,25 @@ export class Pawn extends Piece implements PieceMovement { } possibleMoves(position: Square, board: Board): Square[] { - return this.goAhead(position, board).concat(this.goDoubleAhead(position, board)).concat(this.goDiagonalAhead(position, board)); + const aheadSquare = { column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }; + const doubleAheadSquare = { column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }; + const aheadMoves: Square[] = this.isOnStartingPosition(position) ? [aheadSquare, doubleAheadSquare] : [aheadSquare]; + return this.goAhead(board, aheadMoves).concat(this.goDiagonalAhead(position, board)); } - private goAhead(position: Square, board: Board): Square[] { - const aheadSquare = { column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }; - const isPieceOnAheadSquare = board.onPositionPiece(aheadSquare); - return !isPieceOnAheadSquare ? [aheadSquare] : []; + private goAhead(board: Board, aheadMoves: Square[]): Square[] { + if (aheadMoves.length === 0) { + return []; + } + const [nextMove, ...otherMoves] = aheadMoves; + const isPieceOnNextSquare = board.onPositionPiece(nextMove) !== undefined; + return isPieceOnNextSquare ? [] : [nextMove, ...this.goAhead(board, otherMoves)]; } private nextRowDifference(): RowDifference { return NEXT_ROW_DIFFERENCE[this.side]; } - private goDoubleAhead(position: Square, board: Board): Square[] { - const aheadSquare = { column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }; - const doubleAheadSquare = { column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }; - const canMoveDoubleAhead = - this.isOnStartingPosition(position) && !board.onPositionPiece(aheadSquare) && !board.onPositionPiece(doubleAheadSquare); - return canMoveDoubleAhead ? [doubleAheadSquare] : []; - } - private isOnStartingPosition(position: Square) { return (position.row === 2 && this.side === 'WHITE') || (position.row === 7 && this.side === 'BLACK'); } From 72f928b8639fc2b2a39a004778b1e22d3af797d4 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 30 Jan 2021 14:35:31 +0100 Subject: [PATCH 049/134] Pawn | Refactor --- src/app/model/Pawn.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 1b99c23..775a7b2 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -18,16 +18,16 @@ export class Pawn extends Piece implements PieceMovement { const aheadSquare = { column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }; const doubleAheadSquare = { column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }; const aheadMoves: Square[] = this.isOnStartingPosition(position) ? [aheadSquare, doubleAheadSquare] : [aheadSquare]; - return this.goAhead(board, aheadMoves).concat(this.goDiagonalAhead(position, board)); + return this.normalMoves(board, aheadMoves).concat(this.captureMoves(position, board)); } - private goAhead(board: Board, aheadMoves: Square[]): Square[] { + private normalMoves(board: Board, aheadMoves: Square[]): Square[] { if (aheadMoves.length === 0) { return []; } const [nextMove, ...otherMoves] = aheadMoves; const isPieceOnNextSquare = board.onPositionPiece(nextMove) !== undefined; - return isPieceOnNextSquare ? [] : [nextMove, ...this.goAhead(board, otherMoves)]; + return isPieceOnNextSquare ? [] : [nextMove, ...this.normalMoves(board, otherMoves)]; } private nextRowDifference(): RowDifference { @@ -38,7 +38,7 @@ export class Pawn extends Piece implements PieceMovement { return (position.row === 2 && this.side === 'WHITE') || (position.row === 7 && this.side === 'BLACK'); } - private goDiagonalAhead(position: Square, board: Board): Square[] { + private captureMoves(position: Square, board: Board): Square[] { const movesToGo: Square[] = []; const currentColumnNumber = columns.indexOf(position.column); const currentRowNumber = position.row; From f755a9544ce2f358b6b4e315db9f12498bdaddad Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 19:43:01 +0100 Subject: [PATCH 050/134] Delete useless file --- test/app/model/NewFile.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 test/app/model/NewFile.ts diff --git a/test/app/model/NewFile.ts b/test/app/model/NewFile.ts deleted file mode 100644 index e69de29..0000000 From aff810397f8ee6051715e4356dd7fb649e64f204 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 19:55:10 +0100 Subject: [PATCH 051/134] #22 Knight possible movements | Update tests names after Code Review --- test/app/model/Knight.spec.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index 4523175..a8d8a5f 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -3,8 +3,8 @@ import { Square } from '../../../src/app/model/Types'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; -describe('Knight movement', () => { - it("Check possible squares to go, when Knight is on F3 and there is no pieces on Knight's final movement squares", () => { +describe('Knight possible moves', () => { + it("When Knight is on F3 and there is no pieces on Knight's final movement squares", () => { const testPiece = new Knight('testId', 'WHITE'); const testPiecePosition: Square = { column: 'F', row: 3 }; @@ -23,7 +23,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when Knight is on C2 and there is no pieces on Knight's final movement squares", () => { + it("When Knight is on C2 and there is no pieces on Knight's final movement squares", () => { const testPiece = new Knight('testId', 'WHITE'); const testPiecePosition: Square = { column: 'C', row: 2 }; @@ -40,7 +40,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when Knight is on G7 and there is no pieces on Knight's final movement squares", () => { + it("When Knight is on G7 and there is no pieces on Knight's final movement squares", () => { const testPiece = new Knight('testId', 'WHITE'); const testPiecePosition: Square = { column: 'G', row: 7 }; @@ -55,7 +55,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when Knight is on B2 and there is no pieces on Knight's final movement squares", () => { + it("When Knight is on B2 and there is no pieces on Knight's final movement squares", () => { const testPiece = new Knight('testId', 'WHITE'); const testPiecePosition: Square = { column: 'B', row: 2 }; @@ -70,7 +70,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when Knight is on F3 and there is no pieces on Knight's final movement squares but there are pieces directly around of Knight", () => { + it("When Knight is on F3 and there is no pieces on Knight's final movement squares but there are pieces directly around of Knight", () => { const testBoard = boardWithPieces({ E2: { id: 'testId', side: 'WHITE' }, E3: { id: 'testId', side: 'WHITE' }, @@ -97,7 +97,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when WHITE Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { + it("When WHITE Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ D2: { id: 'testId', side: 'WHITE' }, }); @@ -118,7 +118,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when WHITE Knight is on F3 and there is BLACK piece on Knight's final movement square on D2", () => { + it("When WHITE Knight is on F3 and there is BLACK piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ D2: { id: 'testId', side: 'BLACK' }, }); @@ -140,7 +140,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { + it("When BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ D2: { id: 'testId', side: 'WHITE' }, }); @@ -162,7 +162,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on G6 and there are BLACK pieces on F6, F7, F8, H7", () => { + it("When BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on G6 and there are BLACK pieces on F6, F7, F8, H7", () => { const testBoard = boardWithPieces({ G6: { id: 'testId', side: 'WHITE' }, F6: { id: 'testId', side: 'BLACK' }, @@ -179,7 +179,7 @@ describe('Knight movement', () => { expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); - it("Check possible squares to go, when BLACK Knight is on H8 and there is BLACK pieces on Knight's final movement squares on G6 and F7 - no movement", () => { + it("When BLACK Knight is on H8 and there is BLACK pieces on Knight's final movement squares on G6 and F7 - no movement", () => { const testBoard = boardWithPieces({ G6: { id: 'testId', side: 'BLACK' }, F7: { id: 'testId', side: 'BLACK' }, From cdb59087f41f4ba660e1910aeebaa2aadb7ba2e7 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 20:04:57 +0100 Subject: [PATCH 052/134] #22 Knight possible movements | Update after Code Review automatic "Codacy Static Code Analysis" --- src/app/model/Knight.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts index feefee3..8ddff74 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/Knight.ts @@ -11,13 +11,13 @@ export class Knight extends Piece implements PieceMovement { possibleMoves(position: Square, board: Board): Square[] { let movesToGo = [] as Square[]; - movesToGo = movesToGo.concat(this.movesOnEmptyBoard(position, board)); + movesToGo = movesToGo.concat(this.movesOnEmptyBoard(position)); // TODO: usuń pola zajęte movesToGo = this.removeImpossibleSquares(movesToGo, board); return movesToGo; } - private movesOnEmptyBoard(position: Square, board: Board): Square[] { + private movesOnEmptyBoard(position: Square): Square[] { const movesToGo: Square[] = []; const currentColumnNumber = columns.indexOf(position.column); const currentRowNumber = position.row; From 1834704920c1d806ab0a890b9346a8948a48c9f9 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 20:20:22 +0100 Subject: [PATCH 053/134] #22 Knight possible movements | Update after Code Review --- src/app/model/Knight.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts index 8ddff74..7e10a7b 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/Knight.ts @@ -10,11 +10,7 @@ export class Knight extends Piece implements PieceMovement { } possibleMoves(position: Square, board: Board): Square[] { - let movesToGo = [] as Square[]; - movesToGo = movesToGo.concat(this.movesOnEmptyBoard(position)); - // TODO: usuń pola zajęte - movesToGo = this.removeImpossibleSquares(movesToGo, board); - return movesToGo; + return this.removeSquaresWithAllyPieces(this.movesOnEmptyBoard(position), board); } private movesOnEmptyBoard(position: Square): Square[] { @@ -54,7 +50,7 @@ export class Knight extends Piece implements PieceMovement { return checkedColumnNumber < BOARDSIZE && checkedColumnNumber >= 0 && checkedRowNumber <= BOARDSIZE && checkedRowNumber > 0; } - private removeImpossibleSquares(movesToGoOnEmptyBoard: Square[], board: Board): Square[] { + private removeSquaresWithAllyPieces(movesToGoOnEmptyBoard: Square[], board: Board): Square[] { const movesToGo = movesToGoOnEmptyBoard.filter((checkedPosition) => { return board.onPositionPiece(checkedPosition)?.side !== this.side; }); From ababaa7dcd7d2e20142c8b5c2a6e3ba13f5dfa54 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 30 Jan 2021 23:31:45 +0100 Subject: [PATCH 054/134] #22 Knight possible movements | Update after Code Review --- src/app/model/Knight.ts | 46 ++++++++++++----------------------- test/app/model/Knight.spec.ts | 3 +-- 2 files changed, 16 insertions(+), 33 deletions(-) diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts index 7e10a7b..a127ee3 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/Knight.ts @@ -10,44 +10,28 @@ export class Knight extends Piece implements PieceMovement { } possibleMoves(position: Square, board: Board): Square[] { - return this.removeSquaresWithAllyPieces(this.movesOnEmptyBoard(position), board); + return this.removeSquaresWithAllyPieces(Knight.movesOnEmptyBoard(position), board); } - private movesOnEmptyBoard(position: Square): Square[] { - const movesToGo: Square[] = []; + private static movesOnEmptyBoard(position: Square): Square[] { const currentColumnNumber = columns.indexOf(position.column); const currentRowNumber = position.row; - if (this.isWithinChessboardBorders(currentColumnNumber + 2, currentRowNumber + 1)) { - movesToGo.push({ column: columns[currentColumnNumber + 2], row: (currentRowNumber + 1) as Row }); - } - if (this.isWithinChessboardBorders(currentColumnNumber + 2, currentRowNumber - 1)) { - movesToGo.push({ column: columns[currentColumnNumber + 2], row: (currentRowNumber - 1) as Row }); - } - if (this.isWithinChessboardBorders(currentColumnNumber + 1, currentRowNumber + 2)) { - movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber + 2) as Row }); - } - if (this.isWithinChessboardBorders(currentColumnNumber + 1, currentRowNumber - 2)) { - movesToGo.push({ column: columns[currentColumnNumber + 1], row: (currentRowNumber - 2) as Row }); - } - if (this.isWithinChessboardBorders(currentColumnNumber - 1, currentRowNumber + 2)) { - movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber + 2) as Row }); - } - if (this.isWithinChessboardBorders(currentColumnNumber - 1, currentRowNumber - 2)) { - movesToGo.push({ column: columns[currentColumnNumber - 1], row: (currentRowNumber - 2) as Row }); - } - if (this.isWithinChessboardBorders(currentColumnNumber - 2, currentRowNumber + 1)) { - movesToGo.push({ column: columns[currentColumnNumber - 2], row: (currentRowNumber + 1) as Row }); - } - if (this.isWithinChessboardBorders(currentColumnNumber - 2, currentRowNumber - 1)) { - movesToGo.push({ column: columns[currentColumnNumber - 2], row: (currentRowNumber - 1) as Row }); - } - - return movesToGo; + return [ + { column: columns[currentColumnNumber + 2], row: (currentRowNumber + 1) as Row }, + { column: columns[currentColumnNumber + 2], row: (currentRowNumber - 1) as Row }, + { column: columns[currentColumnNumber + 1], row: (currentRowNumber + 2) as Row }, + { column: columns[currentColumnNumber + 1], row: (currentRowNumber - 2) as Row }, + { column: columns[currentColumnNumber - 1], row: (currentRowNumber + 2) as Row }, + { column: columns[currentColumnNumber - 1], row: (currentRowNumber - 2) as Row }, + { column: columns[currentColumnNumber - 2], row: (currentRowNumber + 1) as Row }, + { column: columns[currentColumnNumber - 2], row: (currentRowNumber - 1) as Row }, + ].filter(Knight.isWithinChessboardBorders); } - private isWithinChessboardBorders(checkedColumnNumber: number, checkedRowNumber: number): boolean { - return checkedColumnNumber < BOARDSIZE && checkedColumnNumber >= 0 && checkedRowNumber <= BOARDSIZE && checkedRowNumber > 0; + private static isWithinChessboardBorders(position: Square): boolean { + const columnNumber = columns.indexOf(position.column); + return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; } private removeSquaresWithAllyPieces(movesToGoOnEmptyBoard: Square[], board: Board): Square[] { diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index a8d8a5f..ef3f605 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -189,7 +189,6 @@ describe('Knight possible moves', () => { const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); - const expectedPossibleMoves = [] as Square[]; - expect(testPiecePossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(testPiecePossibleMoves).toBeEmpty(); }); }); From 8e7076b9a626ed99f63c9903584f4fd315eb4071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Sun, 31 Jan 2021 20:31:31 +0100 Subject: [PATCH 055/134] Model/#31 piece movement (#34) * more project settings * #31 initial tests * #31 refactoring + ChessBoard class * #31 implements methods + tests * #31 remove unnecessary code * #31 tests fixes * #31 test fixes 2.0 * #31 tests fixes * #31 pull develop fix * #31 imports, types, tests fixes * #22 Knight possible movements | Back to first Pawn version * #31 piece movement | Update tests * #31 piece movement | Update Pawn.ts without errors in tests * #31 shorten the return value * #31 piece movement | Fix Pawn.ts * #31 fix one import * Update test/app/model/ChessBoard.spec.ts Co-authored-by: Mateusz Nowak Co-authored-by: PiotrWR Co-authored-by: Mateusz Nowak --- src/app/model/ChessBoard.ts | 21 +++ src/app/model/Pawn.ts | 20 +-- src/app/model/Piece.ts | 2 +- src/app/model/PieceMovement.ts | 6 - src/app/model/PieceMoves.ts | 5 + src/app/model/PiecePossibleMoves.ts | 6 + .../model/{Board.ts => PiecesPositions.ts} | 2 +- src/app/model/Rook.ts | 22 ++-- src/app/model/Types.ts | 8 +- test/app/model/BoardFixture.ts | 6 +- test/app/model/ChessBoard.spec.ts | 50 ++++++++ test/app/model/Pawn.spec.ts | 120 +++++++++--------- test/app/model/Rook.spec.ts | 24 ++-- 13 files changed, 187 insertions(+), 105 deletions(-) create mode 100644 src/app/model/ChessBoard.ts delete mode 100644 src/app/model/PieceMovement.ts create mode 100644 src/app/model/PieceMoves.ts create mode 100644 src/app/model/PiecePossibleMoves.ts rename src/app/model/{Board.ts => PiecesPositions.ts} (78%) create mode 100644 test/app/model/ChessBoard.spec.ts diff --git a/src/app/model/ChessBoard.ts b/src/app/model/ChessBoard.ts new file mode 100644 index 0000000..47fceb4 --- /dev/null +++ b/src/app/model/ChessBoard.ts @@ -0,0 +1,21 @@ +import { PiecePositions } from './PiecesPositions'; +import { Piece } from './Piece'; +import { SquareWithPiece, Square } from './Types'; +import { PieceMoves } from './PieceMoves'; + +export class ChessBoard implements PieceMoves, PiecePositions { + constructor(private boardWithPieces: SquareWithPiece) {} + + onPositionPiece(square: Square): Piece | undefined { + return this.boardWithPieces[`${square.column}${square.row}`]; + } + + movePiece(squareFrom: Square, squareTo: Square): void { + const piece = this.onPositionPiece(squareFrom); + if (!piece) { + throw new Error(`There is no piece on square!`); + } + delete this.boardWithPieces[`${squareFrom.column}${squareFrom.row}`]; + this.boardWithPieces[`${squareTo.column}${squareTo.row}`] = piece; + } +} diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 775a7b2..fc8af91 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -1,6 +1,6 @@ -import { Board } from './Board'; +import { PiecePositions } from './PiecesPositions'; import { Piece } from './Piece'; -import { PieceMovement } from './PieceMovement'; +import { PiecePossibleMoves } from './PiecePossibleMoves'; import { columns, Row, Side, Square } from './Types'; type RowDifference = 1 | -1; @@ -9,19 +9,19 @@ const NEXT_ROW_DIFFERENCE: { WHITE: RowDifference; BLACK: RowDifference } = { BLACK: -1, }; -export class Pawn extends Piece implements PieceMovement { - constructor(id: string, side: Side) { - super('uselessId', side); +export class Pawn extends Piece implements PiecePossibleMoves { + constructor(side: Side) { + super(side); } - possibleMoves(position: Square, board: Board): Square[] { + possibleMoves(position: Square, board: PiecePositions): Square[] { const aheadSquare = { column: position.column, row: (position.row + 1 * this.nextRowDifference()) as Row }; const doubleAheadSquare = { column: position.column, row: (position.row + 2 * this.nextRowDifference()) as Row }; const aheadMoves: Square[] = this.isOnStartingPosition(position) ? [aheadSquare, doubleAheadSquare] : [aheadSquare]; return this.normalMoves(board, aheadMoves).concat(this.captureMoves(position, board)); } - private normalMoves(board: Board, aheadMoves: Square[]): Square[] { + private normalMoves(board: PiecePositions, aheadMoves: Square[]): Square[] { if (aheadMoves.length === 0) { return []; } @@ -35,10 +35,10 @@ export class Pawn extends Piece implements PieceMovement { } private isOnStartingPosition(position: Square) { - return (position.row === 2 && this.side === 'WHITE') || (position.row === 7 && this.side === 'BLACK'); + return (position.row === 2 && this.side === Side.WHITE) || (position.row === 7 && this.side === Side.BLACK); } - private captureMoves(position: Square, board: Board): Square[] { + private captureMoves(position: Square, board: PiecePositions): Square[] { const movesToGo: Square[] = []; const currentColumnNumber = columns.indexOf(position.column); const currentRowNumber = position.row; @@ -62,7 +62,7 @@ export class Pawn extends Piece implements PieceMovement { return movesToGo; } - private checkIfOponent(position: Square, board: Board): boolean { + private checkIfOponent(position: Square, board: PiecePositions): boolean { return board.onPositionPiece(position)?.side !== this.side; } } diff --git a/src/app/model/Piece.ts b/src/app/model/Piece.ts index 2138efc..d32296a 100644 --- a/src/app/model/Piece.ts +++ b/src/app/model/Piece.ts @@ -1,5 +1,5 @@ import { Side } from './Types'; export class Piece { - constructor(public id: string, public side: Side) {} + constructor(public side: Side) {} } diff --git a/src/app/model/PieceMovement.ts b/src/app/model/PieceMovement.ts deleted file mode 100644 index 3c96883..0000000 --- a/src/app/model/PieceMovement.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Board } from './Board'; -import { Square } from './Types'; - -export interface PieceMovement { - possibleMoves(position: Square, board: Board): Square[]; -} diff --git a/src/app/model/PieceMoves.ts b/src/app/model/PieceMoves.ts new file mode 100644 index 0000000..2038043 --- /dev/null +++ b/src/app/model/PieceMoves.ts @@ -0,0 +1,5 @@ +import { Square } from './Types'; + +export interface PieceMoves { + movePiece(squareFrom: Square, squareTo: Square): void; +} diff --git a/src/app/model/PiecePossibleMoves.ts b/src/app/model/PiecePossibleMoves.ts new file mode 100644 index 0000000..4f21c05 --- /dev/null +++ b/src/app/model/PiecePossibleMoves.ts @@ -0,0 +1,6 @@ +import { PiecePositions } from './PiecesPositions'; +import { Square } from './Types'; + +export interface PiecePossibleMoves { + possibleMoves(position: Square, board: PiecePositions): Square[]; +} diff --git a/src/app/model/Board.ts b/src/app/model/PiecesPositions.ts similarity index 78% rename from src/app/model/Board.ts rename to src/app/model/PiecesPositions.ts index d179b0a..f116375 100644 --- a/src/app/model/Board.ts +++ b/src/app/model/PiecesPositions.ts @@ -1,6 +1,6 @@ import { Piece } from './Piece'; import { Square } from './Types'; -export interface Board { +export interface PiecePositions { onPositionPiece(sqaure: Square): Piece | undefined; } diff --git a/src/app/model/Rook.ts b/src/app/model/Rook.ts index 5315f30..8ddd1ca 100644 --- a/src/app/model/Rook.ts +++ b/src/app/model/Rook.ts @@ -1,15 +1,15 @@ -import { Board } from './Board'; +import { PiecePositions } from './PiecesPositions'; import { BOARDSIZE } from './Constances'; import { Piece } from './Piece'; -import { PieceMovement } from './PieceMovement'; +import { PiecePossibleMoves } from './PiecePossibleMoves'; import { Column, columns, Row, Side, Square } from './Types'; -export class Rook extends Piece implements PieceMovement { - constructor(id: string, side: Side) { - super(id, side); +export class Rook extends Piece implements PiecePossibleMoves { + constructor(side: Side) { + super(side); } - possibleMoves(position: Square, board: Board): Square[] { + possibleMoves(position: Square, board: PiecePositions): Square[] { const movesToGo = this.goUp(position, board).concat( this.goDown(position, board), this.goLeft(position, board), @@ -18,7 +18,7 @@ export class Rook extends Piece implements PieceMovement { return movesToGo; } - private goUp(position: Square, board: Board): Square[] { + private goUp(position: Square, board: PiecePositions): Square[] { const movesToGo: Square[] = []; for (let i = position.row + 1; i <= BOARDSIZE; i++) { @@ -35,7 +35,7 @@ export class Rook extends Piece implements PieceMovement { return movesToGo; } - private goDown(position: Square, board: Board): Square[] { + private goDown(position: Square, board: PiecePositions): Square[] { const movesToGo: Square[] = []; for (let i = position.row - 1; i >= 1; i--) { @@ -52,7 +52,7 @@ export class Rook extends Piece implements PieceMovement { return movesToGo; } - private goLeft(position: Square, board: Board): Square[] { + private goLeft(position: Square, board: PiecePositions): Square[] { const movesToGo: Square[] = []; for (let i = columns.indexOf(position.column) - 1; i >= 0; i--) { @@ -69,7 +69,7 @@ export class Rook extends Piece implements PieceMovement { return movesToGo; } - private goRight(position: Square, board: Board): Square[] { + private goRight(position: Square, board: PiecePositions): Square[] { const movesToGo: Square[] = []; for (let i = columns.indexOf(position.column) + 1; i < BOARDSIZE; i++) { @@ -86,7 +86,7 @@ export class Rook extends Piece implements PieceMovement { return movesToGo; } - private checkIfOponent(columnPosition: Column, rowPosition: Row, board: Board): boolean { + private checkIfOponent(columnPosition: Column, rowPosition: Row, board: PiecePositions): boolean { return board.onPositionPiece({ column: columnPosition, row: rowPosition })?.side !== this.side; } } diff --git a/src/app/model/Types.ts b/src/app/model/Types.ts index bf90a20..1ba3966 100644 --- a/src/app/model/Types.ts +++ b/src/app/model/Types.ts @@ -1,5 +1,11 @@ +import { Piece } from './Piece'; + export const columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']; export type Column = typeof columns[number]; export type Row = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8; export type Square = { column: Column; row: Row }; -export type Side = 'WHITE' | 'BLACK'; +export enum Side { + WHITE = 'WHITE', + BLACK = 'BLACK', +} +export type SquareWithPiece = { [key: string]: Piece }; diff --git a/test/app/model/BoardFixture.ts b/test/app/model/BoardFixture.ts index 83cf28c..d844ec4 100644 --- a/test/app/model/BoardFixture.ts +++ b/test/app/model/BoardFixture.ts @@ -1,11 +1,11 @@ -import { Board } from '../../../src/app/model/Board'; +import { PiecePositions } from '../../../src/app/model/PiecesPositions'; import { Square } from '../../../src/app/model/Types'; import { Piece } from '../../../src/app/model/Piece'; -export const emptyBoard: Board = { onPositionPiece: (square: Square) => undefined }; +export const emptyBoard: PiecePositions = { onPositionPiece: (square: Square) => undefined }; export type SquareWithPiece = { [key: string]: Piece }; -export const boardWithPieces: (squaresWithPiece: SquareWithPiece) => Board = (squaresWithPiece) => { +export const boardWithPieces: (squaresWithPiece: SquareWithPiece) => PiecePositions = (squaresWithPiece) => { return { onPositionPiece: (square: Square) => squaresWithPiece[`${square.column}${square.row}`], }; diff --git a/test/app/model/ChessBoard.spec.ts b/test/app/model/ChessBoard.spec.ts new file mode 100644 index 0000000..be4057e --- /dev/null +++ b/test/app/model/ChessBoard.spec.ts @@ -0,0 +1,50 @@ +import { ChessBoard } from '../../../src/app/model/ChessBoard'; +import { Piece } from '../../../src/app/model/Piece'; +import { Rook } from '../../../src/app/model/Rook'; +import { Square, SquareWithPiece, Side } from '../../../src/app/model/Types'; + +describe('ChessBoard', () => { + const piece: Piece = { side: Side.WHITE }; + const rook: Rook = new Rook(Side.WHITE); + const squareA2: Square = { column: 'A', row: 2 }; + const squareA3: Square = { column: 'A', row: 3 }; + const squareA4: Square = { column: 'A', row: 4 }; + + it('- check onPositionPiece method', () => { + const boardWithPieces: SquareWithPiece = { A2: piece, A3: rook }; + const chessBoard = new ChessBoard(boardWithPieces); + + expect(chessBoard.onPositionPiece(squareA2)).toMatchObject(piece); + expect(chessBoard.onPositionPiece(squareA3)).toMatchObject(rook); + expect(chessBoard.onPositionPiece(squareA4)).toBe(undefined); + }); + + it('move piece from square where is nothing (A2 is empty)', () => { + const boardWithPieces: SquareWithPiece = { D7: piece, F4: rook }; + const chessBoard = new ChessBoard(boardWithPieces); + + expect(() => chessBoard.movePiece(squareA2, squareA3)).toThrowError(`There is no piece on square!`); + }); + + it('move piece from A2 --> A4', () => { + const boardWithPieces: SquareWithPiece = { A2: piece, F4: rook }; + const chessBoard = new ChessBoard(boardWithPieces); + + chessBoard.movePiece(squareA2, squareA3); + + expect(chessBoard.onPositionPiece(squareA2)).toBe(undefined); + expect(chessBoard.onPositionPiece(squareA3)).toMatchObject(piece); + }); + + it('move piece from A2 --> A3 --> A4', () => { + const boardWithPieces: SquareWithPiece = { A2: piece, F4: rook }; + const chessBoard = new ChessBoard(boardWithPieces); + + chessBoard.movePiece(squareA2, squareA3); + chessBoard.movePiece(squareA3, squareA4); + + expect(chessBoard.onPositionPiece(squareA2)).toBe(undefined); + expect(chessBoard.onPositionPiece(squareA3)).toBe(undefined); + expect(chessBoard.onPositionPiece(squareA4)).toMatchObject(piece); + }); +}); diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts index 298f4a9..8992fb8 100644 --- a/test/app/model/Pawn.spec.ts +++ b/test/app/model/Pawn.spec.ts @@ -1,149 +1,149 @@ import { Pawn } from '../../../src/app/model/Pawn'; -import { Square } from '../../../src/app/model/Types'; +import { Side, Square } from '../../../src/app/model/Types'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; describe('Pawn movement', () => { it("Check possible squares to go, when White Pawn is on D4 and there is no pieces on Pawn's way", () => { - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'D', row: 4 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'D', row: 4 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, emptyBoard); const expectedPossibleMoves = [{ column: 'D', row: 5 }]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it("Check possible squares to go, when White Pawn is on D7 and there is no pieces on Pawn's way", () => { - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'D', row: 7 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'D', row: 7 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, emptyBoard); const expectedPossibleMoves = [{ column: 'D', row: 8 }]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it("Check possible squares to go, when White Pawn is on B4 and there is no pieces on Pawn's way and it's black piece on A5", () => { const testBoard = boardWithPieces({ - A5: { id: 'testId', side: 'BLACK' }, + A5: { side: Side.BLACK }, }); - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'B', row: 4 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'B', row: 4 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); const expectedPossibleMoves = [ { column: 'A', row: 5 }, { column: 'B', row: 5 }, ]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it("Check possible squares to go, when White Pawn is on B4 and there is no pieces on Pawn's way and it's black piece on A5 and it's white piece on C5", () => { const testBoard = boardWithPieces({ - A5: { id: 'testId', side: 'BLACK' }, - C5: { id: 'testId', side: 'WHITE' }, + A5: { side: Side.BLACK }, + C5: { side: Side.WHITE }, }); - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'B', row: 4 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'B', row: 4 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); const expectedPossibleMoves = [ { column: 'A', row: 5 }, { column: 'B', row: 5 }, ]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it("Check possible squares to go, when White Pawn is on E2 and there is no pieces on Pawn's way", () => { - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'E', row: 2 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'E', row: 2 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, emptyBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, emptyBoard); const expectedPossibleMoves = [ { column: 'E', row: 3 }, { column: 'E', row: 4 }, ]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it('Check possible squares to go, when White Pawn is on E2 and there is black piece on E3', () => { const testBoard = boardWithPieces({ - E3: { id: 'testId', side: 'BLACK' }, + E3: { side: Side.BLACK }, }); - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'E', row: 2 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'E', row: 2 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); const expectedPossibleMoves = [] as Square[]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it('Check possible squares to go, when White Pawn is on E2 and there is black piece on E4', () => { const testBoard = boardWithPieces({ - E4: { id: 'testId', side: 'BLACK' }, + E4: { side: Side.BLACK }, }); - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'E', row: 2 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'E', row: 2 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); const expectedPossibleMoves = [{ column: 'E', row: 3 }]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it('Check possible squares to go, when White Pawn is on E2 and there is black pieces on E4 and on C3', () => { const testBoard = boardWithPieces({ - E4: { id: 'testId', side: 'BLACK' }, - C3: { id: 'testId', side: 'BLACK' }, + E4: { side: Side.BLACK }, + C3: { side: Side.BLACK }, }); - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'E', row: 2 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'E', row: 2 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); const expectedPossibleMoves = [{ column: 'E', row: 3 }]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it('Check possible squares to go, when White Pawn is on E2 and there is black pieces on E4 and on D3', () => { const testBoard = boardWithPieces({ - E4: { id: 'testId', side: 'BLACK' }, - D3: { id: 'testId', side: 'BLACK' }, + E4: { side: Side.BLACK }, + D3: { side: Side.BLACK }, }); - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'E', row: 2 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'E', row: 2 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); const expectedPossibleMoves = [ { column: 'E', row: 3 }, { column: 'D', row: 3 }, ]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it('Check possible squares to go, when White Pawn is on E2 and there is black piece on E4 and white piece on D3', () => { const testBoard = boardWithPieces({ - D3: { id: 'testId', side: 'WHITE' }, - E4: { id: 'testId', side: 'BLACK' }, + D3: { side: Side.WHITE }, + E4: { side: Side.BLACK }, }); - const whitePawn = new Pawn('testId', 'WHITE'); - const whitePawnPosition: Square = { column: 'E', row: 2 }; + const pawn = new Pawn(Side.WHITE); + const pawnPosition: Square = { column: 'E', row: 2 }; - const whitePawnPossibleMoves = whitePawn.possibleMoves(whitePawnPosition, testBoard); + const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); const expectedPossibleMoves = [{ column: 'E', row: 3 }]; - expect(whitePawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); + expect(pawnPossibleMoves).toIncludeSameMembers(expectedPossibleMoves); }); it("Check possible squares to go, when BLACK Pawn is on E2 and there is no pieces on Pawn's way", () => { const testBoard = emptyBoard; - const pawn = new Pawn('testId', 'BLACK'); + const pawn = new Pawn(Side.BLACK); const pawnPosition: Square = { column: 'E', row: 2 }; const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); @@ -154,7 +154,7 @@ describe('Pawn movement', () => { it("Check possible squares to go, when BLACK Pawn is on E7 and there is no pieces on Pawn's way", () => { const testBoard = emptyBoard; - const pawn = new Pawn('testId', 'BLACK'); + const pawn = new Pawn(Side.BLACK); const pawnPosition: Square = { column: 'E', row: 7 }; const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); @@ -168,9 +168,9 @@ describe('Pawn movement', () => { it('Check possible squares to go, when BLACK Pawn is on E7 and there is black piece on E6', () => { const testBoard = boardWithPieces({ - E6: { id: 'testId', side: 'BLACK' }, + E6: { side: Side.BLACK }, }); - const pawn = new Pawn('testId', 'BLACK'); + const pawn = new Pawn(Side.BLACK); const pawnPosition: Square = { column: 'E', row: 7 }; const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); @@ -181,9 +181,9 @@ describe('Pawn movement', () => { it('Check possible squares to go, when BLACK Pawn is on E7 and there is black piece on E5', () => { const testBoard = boardWithPieces({ - E5: { id: 'testId', side: 'BLACK' }, + E5: { side: Side.BLACK }, }); - const pawn = new Pawn('testId', 'BLACK'); + const pawn = new Pawn(Side.BLACK); const pawnPosition: Square = { column: 'E', row: 7 }; const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); @@ -194,9 +194,9 @@ describe('Pawn movement', () => { it('Check possible squares to go, when BLACK Pawn is on E7 and there is white piece on D6', () => { const testBoard = boardWithPieces({ - D6: { id: 'testId', side: 'WHITE' }, + D6: { side: Side.WHITE }, }); - const pawn = new Pawn('testId', 'BLACK'); + const pawn = new Pawn(Side.BLACK); const pawnPosition: Square = { column: 'E', row: 7 }; const pawnPossibleMoves = pawn.possibleMoves(pawnPosition, testBoard); diff --git a/test/app/model/Rook.spec.ts b/test/app/model/Rook.spec.ts index 03cbe22..366515c 100644 --- a/test/app/model/Rook.spec.ts +++ b/test/app/model/Rook.spec.ts @@ -1,5 +1,5 @@ import { Rook } from '../../../src/app/model/Rook'; -import { Square } from '../../../src/app/model/Types'; +import { Side, Square } from '../../../src/app/model/Types'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; @@ -21,10 +21,10 @@ describe('Rook movement', () => { { column: 'A', row: 7 }, { column: 'A', row: 8 }, ]; - const rook = new Rook('1', 'WHITE'); - const rockPosition: Square = { column: 'A', row: 1 }; + const rook = new Rook(Side.WHITE); + const rookPosition: Square = { column: 'A', row: 1 }; - const rockPossibleMoves = rook.possibleMoves(rockPosition, emptyBoard); + const rockPossibleMoves = rook.possibleMoves(rookPosition, emptyBoard); expect(rockPossibleMoves).toIncludeSameMembers(possibleMovesWhenRookOnA1); }); @@ -46,18 +46,18 @@ describe('Rook movement', () => { { column: 'G', row: 4 }, { column: 'H', row: 4 }, ]; - const rook = new Rook('1', 'WHITE'); - const rockPosition: Square = { column: 'D', row: 4 }; + const rook = new Rook(Side.WHITE); + const rookPosition: Square = { column: 'D', row: 4 }; - const rockPossibleMoves = rook.possibleMoves(rockPosition, emptyBoard); + const rockPossibleMoves = rook.possibleMoves(rookPosition, emptyBoard); expect(rockPossibleMoves).toIncludeSameMembers(possibleMovesWhenRookOnD4); }); it('Check possible squares to go, when Rook is on D4 and there are some pieces on D7 and F4', () => { const board = boardWithPieces({ - D7: { id: '10', side: 'BLACK' }, - F4: { id: '11', side: 'WHITE' }, + D7: new Rook(Side.BLACK), + F4: new Rook(Side.WHITE), }); const possibleMovesWhenRookOnD4 = [ { column: 'D', row: 7 }, @@ -71,10 +71,10 @@ describe('Rook movement', () => { { column: 'C', row: 4 }, { column: 'E', row: 4 }, ]; - const rook = new Rook('1', 'WHITE'); - const rockPosition: Square = { column: 'D', row: 4 }; + const rook = new Rook(Side.WHITE); + const rookPosition: Square = { column: 'D', row: 4 }; - const rockPossibleMoves = rook.possibleMoves(rockPosition, board); + const rockPossibleMoves = rook.possibleMoves(rookPosition, board); expect(rockPossibleMoves).toIncludeSameMembers(possibleMovesWhenRookOnD4); }); From 86ed18d23a60036141cddfbbfc62c80fa2e9d0c0 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sun, 31 Jan 2021 22:23:52 +0100 Subject: [PATCH 056/134] #22 Knight possible movements | Update to changed develop --- src/app/model/Knight.ts | 14 ++++----- test/app/model/Knight.spec.ts | 54 +++++++++++++++++------------------ 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts index a127ee3..93e3229 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/Knight.ts @@ -1,15 +1,15 @@ -import { Board } from './Board'; +import { PiecePositions } from './PiecesPositions'; import { Piece } from './Piece'; import { BOARDSIZE } from './Constances'; -import { PieceMovement } from './PieceMovement'; +import { PiecePossibleMoves } from './PiecePossibleMoves'; import { columns, Row, Side, Square } from './Types'; -export class Knight extends Piece implements PieceMovement { - constructor(id: string, side: Side) { - super('uselessId', side); +export class Knight extends Piece implements PiecePossibleMoves { + constructor(side: Side) { + super(side); } - possibleMoves(position: Square, board: Board): Square[] { + possibleMoves(position: Square, board: PiecePositions): Square[] { return this.removeSquaresWithAllyPieces(Knight.movesOnEmptyBoard(position), board); } @@ -34,7 +34,7 @@ export class Knight extends Piece implements PieceMovement { return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; } - private removeSquaresWithAllyPieces(movesToGoOnEmptyBoard: Square[], board: Board): Square[] { + private removeSquaresWithAllyPieces(movesToGoOnEmptyBoard: Square[], board: PiecePositions): Square[] { const movesToGo = movesToGoOnEmptyBoard.filter((checkedPosition) => { return board.onPositionPiece(checkedPosition)?.side !== this.side; }); diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index ef3f605..82d7d1d 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -1,11 +1,11 @@ import { Knight } from '../../../src/app/model/Knight'; -import { Square } from '../../../src/app/model/Types'; +import { Side, Square } from '../../../src/app/model/Types'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; describe('Knight possible moves', () => { it("When Knight is on F3 and there is no pieces on Knight's final movement squares", () => { - const testPiece = new Knight('testId', 'WHITE'); + const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'F', row: 3 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); @@ -24,7 +24,7 @@ describe('Knight possible moves', () => { }); it("When Knight is on C2 and there is no pieces on Knight's final movement squares", () => { - const testPiece = new Knight('testId', 'WHITE'); + const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'C', row: 2 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); @@ -41,7 +41,7 @@ describe('Knight possible moves', () => { }); it("When Knight is on G7 and there is no pieces on Knight's final movement squares", () => { - const testPiece = new Knight('testId', 'WHITE'); + const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'G', row: 7 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); @@ -56,7 +56,7 @@ describe('Knight possible moves', () => { }); it("When Knight is on B2 and there is no pieces on Knight's final movement squares", () => { - const testPiece = new Knight('testId', 'WHITE'); + const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'B', row: 2 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, emptyBoard); @@ -72,14 +72,14 @@ describe('Knight possible moves', () => { it("When Knight is on F3 and there is no pieces on Knight's final movement squares but there are pieces directly around of Knight", () => { const testBoard = boardWithPieces({ - E2: { id: 'testId', side: 'WHITE' }, - E3: { id: 'testId', side: 'WHITE' }, - F4: { id: 'testId', side: 'BLACK' }, - F2: { id: 'testId', side: 'BLACK' }, - G2: { id: 'testId', side: 'BLACK' }, - G3: { id: 'testId', side: 'WHITE' }, + E2: { side: Side.WHITE }, + E3: { side: Side.WHITE }, + F4: { side: Side.BLACK }, + F2: { side: Side.BLACK }, + G2: { side: Side.BLACK }, + G3: { side: Side.WHITE }, }); - const testPiece = new Knight('testId', 'WHITE'); + const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'F', row: 3 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); @@ -99,9 +99,9 @@ describe('Knight possible moves', () => { it("When WHITE Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ - D2: { id: 'testId', side: 'WHITE' }, + D2: { side: Side.WHITE }, }); - const testPiece = new Knight('testId', 'WHITE'); + const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'F', row: 3 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); @@ -120,9 +120,9 @@ describe('Knight possible moves', () => { it("When WHITE Knight is on F3 and there is BLACK piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ - D2: { id: 'testId', side: 'BLACK' }, + D2: { side: Side.BLACK }, }); - const testPiece = new Knight('testId', 'WHITE'); + const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'F', row: 3 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); @@ -142,9 +142,9 @@ describe('Knight possible moves', () => { it("When BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ - D2: { id: 'testId', side: 'WHITE' }, + D2: { side: Side.WHITE }, }); - const testPiece = new Knight('testId', 'BLACK'); + const testPiece = new Knight(Side.BLACK); const testPiecePosition: Square = { column: 'F', row: 3 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); @@ -164,13 +164,13 @@ describe('Knight possible moves', () => { it("When BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on G6 and there are BLACK pieces on F6, F7, F8, H7", () => { const testBoard = boardWithPieces({ - G6: { id: 'testId', side: 'WHITE' }, - F6: { id: 'testId', side: 'BLACK' }, - F7: { id: 'testId', side: 'BLACK' }, - F8: { id: 'testId', side: 'BLACK' }, - H7: { id: 'testId', side: 'BLACK' }, + G6: { side: Side.WHITE }, + F6: { side: Side.BLACK }, + F7: { side: Side.BLACK }, + F8: { side: Side.BLACK }, + H7: { side: Side.BLACK }, }); - const testPiece = new Knight('testId', 'BLACK'); + const testPiece = new Knight(Side.BLACK); const testPiecePosition: Square = { column: 'H', row: 8 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); @@ -181,10 +181,10 @@ describe('Knight possible moves', () => { it("When BLACK Knight is on H8 and there is BLACK pieces on Knight's final movement squares on G6 and F7 - no movement", () => { const testBoard = boardWithPieces({ - G6: { id: 'testId', side: 'BLACK' }, - F7: { id: 'testId', side: 'BLACK' }, + G6: { side: Side.BLACK }, + F7: { side: Side.BLACK }, }); - const testPiece = new Knight('testId', 'BLACK'); + const testPiece = new Knight(Side.BLACK); const testPiecePosition: Square = { column: 'H', row: 8 }; const testPiecePossibleMoves = testPiece.possibleMoves(testPiecePosition, testBoard); From 01bcc993d63da4a127b38ce8eb696b08bcb6ed88 Mon Sep 17 00:00:00 2001 From: Tomek <50457289+tomdworniczak@users.noreply.github.com> Date: Mon, 1 Feb 2021 23:03:04 +0100 Subject: [PATCH 057/134] #25 queen moves (#45) * #25 Start tests design * #25 More tests * #25 Test fix * #25 Add another test, add queen moves implementation * #25 Implementation of diagonal moves * #25 Merge develop and fix errors * #25 Refactor Queen movements, left old code * #25 Delete old, unused code, move Vector type from Queen.ts into Types.ts * #25 Code refactor --- src/app/model/Queen.ts | 50 ++++++++++++ src/app/model/Types.ts | 1 + test/app/model/Queen.spec.ts | 146 +++++++++++++++++++++++++++++++++++ 3 files changed, 197 insertions(+) create mode 100644 src/app/model/Queen.ts create mode 100644 test/app/model/Queen.spec.ts diff --git a/src/app/model/Queen.ts b/src/app/model/Queen.ts new file mode 100644 index 0000000..9e1b068 --- /dev/null +++ b/src/app/model/Queen.ts @@ -0,0 +1,50 @@ +import { PiecePositions } from './PiecesPositions'; +import { BOARDSIZE } from './Constances'; +import { Piece } from './Piece'; +import { columns, Row, Side, Square, Vector } from './Types'; +import { PiecePossibleMoves } from './PiecePossibleMoves'; + +export class Queen extends Piece implements PiecePossibleMoves { + constructor(side: Side) { + super(side); + } + + possibleMoves(position: Square, board: PiecePositions): Square[] { + return [ + ...this.lineMoves(board, position, { col: 0, row: -1 }), + ...this.lineMoves(board, position, { col: 0, row: 1 }), + ...this.lineMoves(board, position, { col: -1, row: 0 }), + ...this.lineMoves(board, position, { col: 1, row: 0 }), + ...this.lineMoves(board, position, { row: -1, col: -1 }), + ...this.lineMoves(board, position, { row: -1, col: 1 }), + ...this.lineMoves(board, position, { row: 1, col: 1 }), + ...this.lineMoves(board, position, { row: 1, col: -1 }), + ]; + } + + private lineMoves(board: PiecePositions, actualPosition: Square, vector: Vector): Square[] { + const nextSquare: Square = { + column: columns[columns.indexOf(actualPosition.column) + vector.col], + row: (actualPosition.row + vector.row) as Row, + }; + const isWithinChessboard = Queen.isWithinChessboardBorders(nextSquare); + if (!isWithinChessboard) { + return []; + } + const isSquareOccupied = board.onPositionPiece(nextSquare); + if (isSquareOccupied) { + return this.checkIfOponent(nextSquare, board) ? [nextSquare] : []; + } else { + return [nextSquare].concat(this.lineMoves(board, nextSquare, vector)); + } + } + + private static isWithinChessboardBorders(position: Square): boolean { + const columnNumber = columns.indexOf(position.column); + return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; + } + + private checkIfOponent(position: Square, board: PiecePositions): boolean { + return board.onPositionPiece(position)?.side !== this.side; + } +} diff --git a/src/app/model/Types.ts b/src/app/model/Types.ts index 1ba3966..6e270ad 100644 --- a/src/app/model/Types.ts +++ b/src/app/model/Types.ts @@ -9,3 +9,4 @@ export enum Side { BLACK = 'BLACK', } export type SquareWithPiece = { [key: string]: Piece }; +export type Vector = { col: number; row: number }; diff --git a/test/app/model/Queen.spec.ts b/test/app/model/Queen.spec.ts new file mode 100644 index 0000000..d5db91c --- /dev/null +++ b/test/app/model/Queen.spec.ts @@ -0,0 +1,146 @@ +import 'jest-extended'; +import { boardWithPieces, emptyBoard } from './BoardFixture'; +import { Side, Square } from '../../../src/app/model/Types'; +import { Queen } from '../../../src/app/model/Queen'; + +describe('Queen possible moves', () => { + it('When Queen is on D4 and there is no pieces on Queens way', () => { + const whiteQueen = new Queen(Side.WHITE); + const whiteQueenPosition: Square = { column: 'D', row: 4 }; + const expectedQueenPossibleMoves = [ + { column: 'D', row: 1 }, + { column: 'D', row: 2 }, + { column: 'D', row: 3 }, + { column: 'D', row: 5 }, + { column: 'D', row: 6 }, + { column: 'D', row: 7 }, + { column: 'D', row: 8 }, + { column: 'A', row: 4 }, + { column: 'B', row: 4 }, + { column: 'C', row: 4 }, + { column: 'E', row: 4 }, + { column: 'F', row: 4 }, + { column: 'G', row: 4 }, + { column: 'H', row: 4 }, + { column: 'C', row: 5 }, + { column: 'B', row: 6 }, + { column: 'A', row: 7 }, + { column: 'E', row: 5 }, + { column: 'F', row: 6 }, + { column: 'G', row: 7 }, + { column: 'H', row: 8 }, + { column: 'C', row: 3 }, + { column: 'B', row: 2 }, + { column: 'A', row: 1 }, + { column: 'E', row: 3 }, + { column: 'F', row: 2 }, + { column: 'G', row: 1 }, + ]; + + const queenPossibleMoves = whiteQueen.possibleMoves(whiteQueenPosition, emptyBoard); + + expect(queenPossibleMoves).toIncludeSameMembers(expectedQueenPossibleMoves); + }); + it('When white Queen is on starting position D1 and there are pieces all around', () => { + const testBoard = boardWithPieces({ + C1: { side: Side.WHITE }, + C2: { side: Side.WHITE }, + D2: { side: Side.WHITE }, + E1: { side: Side.WHITE }, + E2: { side: Side.WHITE }, + }); + const whiteQueen = new Queen(Side.WHITE); + const whiteQueenPosition: Square = { column: 'D', row: 1 }; + + const queenPossibleMoves = whiteQueen.possibleMoves(whiteQueenPosition, testBoard); + + expect(queenPossibleMoves).toBeEmpty(); + }); + it('When white Queen is on D4 on given test board', () => { + const testBoard = boardWithPieces({ + C3: { side: Side.WHITE }, + B4: { side: Side.WHITE }, + C5: { side: Side.WHITE }, + D6: { side: Side.WHITE }, + E5: { side: Side.BLACK }, + F4: { side: Side.BLACK }, + E3: { side: Side.BLACK }, + D2: { side: Side.BLACK }, + }); + const whiteQueen = new Queen(Side.WHITE); + const whiteQueenPosition: Square = { column: 'D', row: 4 }; + const expectedQueenPossibleMoves = [ + { column: 'C', row: 4 }, + { column: 'D', row: 5 }, + { column: 'D', row: 3 }, + { column: 'D', row: 2 }, + { column: 'E', row: 5 }, + { column: 'E', row: 4 }, + { column: 'E', row: 3 }, + { column: 'F', row: 4 }, + ]; + + const queenPossibleMoves = whiteQueen.possibleMoves(whiteQueenPosition, testBoard); + + expect(queenPossibleMoves).toIncludeSameMembers(expectedQueenPossibleMoves); + }); + it('When white Queen is on D5 and there are black pieces on D7 and D8', () => { + const testBoard = boardWithPieces({ + D7: { side: Side.BLACK }, + D8: { side: Side.BLACK }, + }); + const whiteQueen = new Queen(Side.WHITE); + const whiteQueenPosition: Square = { column: 'D', row: 5 }; + const expectedQueenPossibleMoves = [ + { column: 'D', row: 6 }, + { column: 'D', row: 7 }, + ]; + const invalidMove = [{ column: 'D', row: 8 }]; + + const queenPossibleMoves = whiteQueen.possibleMoves(whiteQueenPosition, testBoard); + + expect(queenPossibleMoves).toIncludeAllMembers(expectedQueenPossibleMoves); + expect(queenPossibleMoves).not.toIncludeAllMembers(invalidMove); + }); + it('When white Queen is on starting position D1 and other pieces are not blocking her diagonal moves', () => { + const testBoard = boardWithPieces({ + D2: { side: Side.WHITE }, + C1: { side: Side.WHITE }, + E1: { side: Side.WHITE }, + }); + const whiteQueen = new Queen(Side.WHITE); + const whiteQueenPosition: Square = { column: 'D', row: 1 }; + const expectedQueenPossibleMoves = [ + { column: 'A', row: 4 }, + { column: 'B', row: 3 }, + { column: 'C', row: 2 }, + { column: 'E', row: 2 }, + { column: 'F', row: 3 }, + { column: 'G', row: 4 }, + { column: 'H', row: 5 }, + ]; + + const queenPossibleMoves = whiteQueen.possibleMoves(whiteQueenPosition, testBoard); + + expect(queenPossibleMoves).toIncludeSameMembers(expectedQueenPossibleMoves); + }); + it('When white Queen is on starting position D1 and other pieces are not blocking her left diagonal moves', () => { + const testBoard = boardWithPieces({ + D2: { side: Side.WHITE }, + C1: { side: Side.WHITE }, + E1: { side: Side.WHITE }, + E2: { side: Side.WHITE }, + }); + const whiteQueen = new Queen(Side.WHITE); + const whiteQueenPosition: Square = { column: 'D', row: 1 }; + const expectedQueenPossibleMoves = [ + { column: 'A', row: 4 }, + { column: 'B', row: 3 }, + { column: 'C', row: 2 }, + ]; + + const queenPossibleMoves = whiteQueen.possibleMoves(whiteQueenPosition, testBoard); + + expect(queenPossibleMoves).toIncludeSameMembers(expectedQueenPossibleMoves); + }); +}); From f8d572f0e899a634591b340a11244f50a853e611 Mon Sep 17 00:00:00 2001 From: Pawel Szambelan Date: Tue, 2 Feb 2021 09:52:11 +0100 Subject: [PATCH 058/134] #23 bishop movement --- src/app/model/Bishop.ts | 46 +++++++++++++++ test/app/model/Bishop.spec.ts | 104 ++++++++++++++++++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 src/app/model/Bishop.ts create mode 100644 test/app/model/Bishop.spec.ts diff --git a/src/app/model/Bishop.ts b/src/app/model/Bishop.ts new file mode 100644 index 0000000..c0b6545 --- /dev/null +++ b/src/app/model/Bishop.ts @@ -0,0 +1,46 @@ +import { PiecePositions } from './PiecesPositions'; +import { BOARDSIZE } from './Constances'; +import { Piece } from './Piece'; +import { columns, Row, Side, Square, Vector } from './Types'; +import { PiecePossibleMoves } from './PiecePossibleMoves'; + +export class Bishop extends Piece implements PiecePossibleMoves { + constructor(side: Side) { + super(side); + } + + possibleMoves(position: Square, board: PiecePositions): Square[] { + return [ + ...this.lineMoves(board, position, { row: -1, col: -1 }), + ...this.lineMoves(board, position, { row: -1, col: 1 }), + ...this.lineMoves(board, position, { row: 1, col: 1 }), + ...this.lineMoves(board, position, { row: 1, col: -1 }), + ]; + } + + private lineMoves(board: PiecePositions, actualPosition: Square, vector: Vector): Square[] { + const nextSquare: Square = { + column: columns[columns.indexOf(actualPosition.column) + vector.col], + row: (actualPosition.row + vector.row) as Row, + }; + const isWithinChessboard = Bishop.isWithinChessboardBorders(nextSquare); + if (!isWithinChessboard) { + return []; + } + const isSquareOccupied = board.onPositionPiece(nextSquare); + if (isSquareOccupied) { + return this.checkIfOponent(nextSquare, board) ? [nextSquare] : []; + } else { + return [nextSquare].concat(this.lineMoves(board, nextSquare, vector)); + } + } + + private static isWithinChessboardBorders(position: Square): boolean { + const columnNumber = columns.indexOf(position.column); + return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; + } + + private checkIfOponent(position: Square, board: PiecePositions): boolean { + return board.onPositionPiece(position)?.side !== this.side; + } +} diff --git a/test/app/model/Bishop.spec.ts b/test/app/model/Bishop.spec.ts new file mode 100644 index 0000000..cbb96fe --- /dev/null +++ b/test/app/model/Bishop.spec.ts @@ -0,0 +1,104 @@ +import 'jest-extended'; +import { boardWithPieces, emptyBoard } from './BoardFixture'; +import { Side, Square } from '../../../src/app/model/Types'; +import { Bishop } from '../../../src/app/model/Bishop'; + +describe('Bishop possible moves', () => { + it('When Bishop is on D4 and there is no pieces on its way', () => { + const whiteBishop = new Bishop(Side.WHITE); + const whiteBishopPosition: Square = { column: 'D', row: 4 }; + const expectedBishopPossibleMoves = [ + { column: 'C', row: 5 }, + { column: 'B', row: 6 }, + { column: 'A', row: 7 }, + { column: 'E', row: 5 }, + { column: 'F', row: 6 }, + { column: 'G', row: 7 }, + { column: 'H', row: 8 }, + { column: 'C', row: 3 }, + { column: 'B', row: 2 }, + { column: 'A', row: 1 }, + { column: 'E', row: 3 }, + { column: 'F', row: 2 }, + { column: 'G', row: 1 }, + ]; + + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, emptyBoard); + + expect(bishopPossibleMoves).toIncludeSameMembers(expectedBishopPossibleMoves); + }); + it('When white Bishop is on starting position C1 and there are pieces all around', () => { + const testBoard = boardWithPieces({ + B1: { side: Side.WHITE }, + B2: { side: Side.WHITE }, + C2: { side: Side.WHITE }, + D1: { side: Side.WHITE }, + D2: { side: Side.WHITE }, + }); + const whiteBishopPosition: Square = { column: 'C', row: 1 }; + const whiteBishop = new Bishop(Side.WHITE); + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, testBoard); + + expect(bishopPossibleMoves).toBeEmpty(); + }); + it('When white Bishop is on D4 on given test board', () => { + const testBoard = boardWithPieces({ + B2: { side: Side.WHITE }, + C5: { side: Side.WHITE }, + G7: { side: Side.BLACK }, + }); + const whiteBishop = new Bishop(Side.WHITE); + const whiteBishopPosition: Square = { column: 'D', row: 4 }; + const expectedBishopPossibleMoves = [ + { column: 'C', row: 3 }, + { column: 'E', row: 5 }, + { column: 'F', row: 6 }, + { column: 'G', row: 7 }, + { column: 'E', row: 3 }, + { column: 'F', row: 2 }, + { column: 'G', row: 1 }, + ]; + + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, testBoard); + + expect(bishopPossibleMoves).toIncludeSameMembers(expectedBishopPossibleMoves); + }); + + it('When white Bishop is on starting position C1 and other pieces are not blocking his diagonal moves', () => { + const testBoard = boardWithPieces({ + B1: { side: Side.WHITE }, + C2: { side: Side.WHITE }, + D1: { side: Side.WHITE }, + }); + const whiteBishop = new Bishop(Side.WHITE); + const whiteBishopPosition: Square = { column: 'C', row: 1 }; + const expectedBishopPossibleMoves = [ + { column: 'B', row: 2 }, + { column: 'A', row: 3 }, + { column: 'D', row: 2 }, + { column: 'E', row: 3 }, + { column: 'F', row: 4 }, + { column: 'G', row: 5 }, + { column: 'H', row: 6 }, + ]; + + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, testBoard); + + expect(bishopPossibleMoves).toIncludeSameMembers(expectedBishopPossibleMoves); + }); + it('When white Bishop is on starting position C1 and other pieces are not blocking his left diagonal moves', () => { + const testBoard = boardWithPieces({ + D2: { side: Side.WHITE }, + }); + const whiteBishop = new Bishop(Side.WHITE); + const whiteBishopPosition: Square = { column: 'C', row: 1 }; + const expectedBishopPossibleMoves = [ + { column: 'B', row: 2 }, + { column: 'A', row: 3 }, + ]; + + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, testBoard); + + expect(bishopPossibleMoves).toIncludeSameMembers(expectedBishopPossibleMoves); + }); +}); From c47a9c2c10a8c1dd24142e452021308b0aa2efb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Tue, 2 Feb 2021 20:48:24 +0100 Subject: [PATCH 059/134] Feature/#23 bishop (#48) * more project settings * #23 bishop movement --- src/app/model/Bishop.ts | 46 +++++++++++++++ test/app/model/Bishop.spec.ts | 104 ++++++++++++++++++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 src/app/model/Bishop.ts create mode 100644 test/app/model/Bishop.spec.ts diff --git a/src/app/model/Bishop.ts b/src/app/model/Bishop.ts new file mode 100644 index 0000000..c0b6545 --- /dev/null +++ b/src/app/model/Bishop.ts @@ -0,0 +1,46 @@ +import { PiecePositions } from './PiecesPositions'; +import { BOARDSIZE } from './Constances'; +import { Piece } from './Piece'; +import { columns, Row, Side, Square, Vector } from './Types'; +import { PiecePossibleMoves } from './PiecePossibleMoves'; + +export class Bishop extends Piece implements PiecePossibleMoves { + constructor(side: Side) { + super(side); + } + + possibleMoves(position: Square, board: PiecePositions): Square[] { + return [ + ...this.lineMoves(board, position, { row: -1, col: -1 }), + ...this.lineMoves(board, position, { row: -1, col: 1 }), + ...this.lineMoves(board, position, { row: 1, col: 1 }), + ...this.lineMoves(board, position, { row: 1, col: -1 }), + ]; + } + + private lineMoves(board: PiecePositions, actualPosition: Square, vector: Vector): Square[] { + const nextSquare: Square = { + column: columns[columns.indexOf(actualPosition.column) + vector.col], + row: (actualPosition.row + vector.row) as Row, + }; + const isWithinChessboard = Bishop.isWithinChessboardBorders(nextSquare); + if (!isWithinChessboard) { + return []; + } + const isSquareOccupied = board.onPositionPiece(nextSquare); + if (isSquareOccupied) { + return this.checkIfOponent(nextSquare, board) ? [nextSquare] : []; + } else { + return [nextSquare].concat(this.lineMoves(board, nextSquare, vector)); + } + } + + private static isWithinChessboardBorders(position: Square): boolean { + const columnNumber = columns.indexOf(position.column); + return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; + } + + private checkIfOponent(position: Square, board: PiecePositions): boolean { + return board.onPositionPiece(position)?.side !== this.side; + } +} diff --git a/test/app/model/Bishop.spec.ts b/test/app/model/Bishop.spec.ts new file mode 100644 index 0000000..cbb96fe --- /dev/null +++ b/test/app/model/Bishop.spec.ts @@ -0,0 +1,104 @@ +import 'jest-extended'; +import { boardWithPieces, emptyBoard } from './BoardFixture'; +import { Side, Square } from '../../../src/app/model/Types'; +import { Bishop } from '../../../src/app/model/Bishop'; + +describe('Bishop possible moves', () => { + it('When Bishop is on D4 and there is no pieces on its way', () => { + const whiteBishop = new Bishop(Side.WHITE); + const whiteBishopPosition: Square = { column: 'D', row: 4 }; + const expectedBishopPossibleMoves = [ + { column: 'C', row: 5 }, + { column: 'B', row: 6 }, + { column: 'A', row: 7 }, + { column: 'E', row: 5 }, + { column: 'F', row: 6 }, + { column: 'G', row: 7 }, + { column: 'H', row: 8 }, + { column: 'C', row: 3 }, + { column: 'B', row: 2 }, + { column: 'A', row: 1 }, + { column: 'E', row: 3 }, + { column: 'F', row: 2 }, + { column: 'G', row: 1 }, + ]; + + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, emptyBoard); + + expect(bishopPossibleMoves).toIncludeSameMembers(expectedBishopPossibleMoves); + }); + it('When white Bishop is on starting position C1 and there are pieces all around', () => { + const testBoard = boardWithPieces({ + B1: { side: Side.WHITE }, + B2: { side: Side.WHITE }, + C2: { side: Side.WHITE }, + D1: { side: Side.WHITE }, + D2: { side: Side.WHITE }, + }); + const whiteBishopPosition: Square = { column: 'C', row: 1 }; + const whiteBishop = new Bishop(Side.WHITE); + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, testBoard); + + expect(bishopPossibleMoves).toBeEmpty(); + }); + it('When white Bishop is on D4 on given test board', () => { + const testBoard = boardWithPieces({ + B2: { side: Side.WHITE }, + C5: { side: Side.WHITE }, + G7: { side: Side.BLACK }, + }); + const whiteBishop = new Bishop(Side.WHITE); + const whiteBishopPosition: Square = { column: 'D', row: 4 }; + const expectedBishopPossibleMoves = [ + { column: 'C', row: 3 }, + { column: 'E', row: 5 }, + { column: 'F', row: 6 }, + { column: 'G', row: 7 }, + { column: 'E', row: 3 }, + { column: 'F', row: 2 }, + { column: 'G', row: 1 }, + ]; + + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, testBoard); + + expect(bishopPossibleMoves).toIncludeSameMembers(expectedBishopPossibleMoves); + }); + + it('When white Bishop is on starting position C1 and other pieces are not blocking his diagonal moves', () => { + const testBoard = boardWithPieces({ + B1: { side: Side.WHITE }, + C2: { side: Side.WHITE }, + D1: { side: Side.WHITE }, + }); + const whiteBishop = new Bishop(Side.WHITE); + const whiteBishopPosition: Square = { column: 'C', row: 1 }; + const expectedBishopPossibleMoves = [ + { column: 'B', row: 2 }, + { column: 'A', row: 3 }, + { column: 'D', row: 2 }, + { column: 'E', row: 3 }, + { column: 'F', row: 4 }, + { column: 'G', row: 5 }, + { column: 'H', row: 6 }, + ]; + + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, testBoard); + + expect(bishopPossibleMoves).toIncludeSameMembers(expectedBishopPossibleMoves); + }); + it('When white Bishop is on starting position C1 and other pieces are not blocking his left diagonal moves', () => { + const testBoard = boardWithPieces({ + D2: { side: Side.WHITE }, + }); + const whiteBishop = new Bishop(Side.WHITE); + const whiteBishopPosition: Square = { column: 'C', row: 1 }; + const expectedBishopPossibleMoves = [ + { column: 'B', row: 2 }, + { column: 'A', row: 3 }, + ]; + + const bishopPossibleMoves = whiteBishop.possibleMoves(whiteBishopPosition, testBoard); + + expect(bishopPossibleMoves).toIncludeSameMembers(expectedBishopPossibleMoves); + }); +}); From e04afbeaf574e960b8307630accc2474f07682fa Mon Sep 17 00:00:00 2001 From: lamparina <59768305+lamparina@users.noreply.github.com> Date: Tue, 2 Feb 2021 23:12:33 +0100 Subject: [PATCH 060/134] #8 UI | Szachownica (#41) * Create chessboard DOM element * Remove unused import * Remove unused components * Fix chessboard display * Add test case * Fix Codacy Static Code Analysis issue * Export board size to variable Co-authored-by: lamparina --- sass/_vars.scss | 2 + sass/components/_chessboard.scss | 31 +++++++++++ sass/style.scss | 1 + src/app/App.ts | 7 ++- src/app/view/ChessBoardView.ts | 49 +++++++++++++----- src/app/view/PieceComponent.ts | 6 --- src/app/view/WebChessBoardView.ts | 7 --- static/img/board/dark.png | Bin 0 -> 404265 bytes static/img/board/light.png | Bin 0 -> 270080 bytes test/app/view/ChessBoardView.spec.ts | 27 ++++++++++ .../ChessBoardViewShowPieceOnSquare.spec.ts | 12 ----- 11 files changed, 102 insertions(+), 40 deletions(-) create mode 100644 sass/components/_chessboard.scss delete mode 100644 src/app/view/PieceComponent.ts delete mode 100644 src/app/view/WebChessBoardView.ts create mode 100644 static/img/board/dark.png create mode 100644 static/img/board/light.png create mode 100644 test/app/view/ChessBoardView.spec.ts delete mode 100644 test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts diff --git a/sass/_vars.scss b/sass/_vars.scss index e69de29..bb818e6 100644 --- a/sass/_vars.scss +++ b/sass/_vars.scss @@ -0,0 +1,2 @@ +$chessboard-size--portrait: 100vw; +$chessboard-size--landscape: 100vh; diff --git a/sass/components/_chessboard.scss b/sass/components/_chessboard.scss new file mode 100644 index 0000000..d725dac --- /dev/null +++ b/sass/components/_chessboard.scss @@ -0,0 +1,31 @@ +.chessboard { + height: $chessboard-size--portrait; + width: $chessboard-size--portrait; + max-height: 100%; + max-width: 100%; + display: grid; + grid-gap: 0; + grid-template-columns: repeat(8, auto); +} + +.square { + background-repeat: no-repeat; + background-size: cover; + + &--light { + background-image: url('../static/img/board/light.png'); + } + + &--dark { + background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)), url('../static/img/board/dark.png'); + } +} + +@media (orientation: landscape) { + .chessboard { + height: $chessboard-size--landscape; + width: $chessboard-size--landscape; + max-height: 100%; + max-width: 100%; + } +} diff --git a/sass/style.scss b/sass/style.scss index d358257..6d77947 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -6,5 +6,6 @@ @import 'mixins'; // miksins - główne // * COMPONENTY +@import 'components/chessboard'; // * LAYOUTS diff --git a/src/app/App.ts b/src/app/App.ts index ae1ec61..4b0c978 100644 --- a/src/app/App.ts +++ b/src/app/App.ts @@ -1 +1,6 @@ -export const App = () => {}; +import { Chessboard } from './view/ChessBoardView'; + +export const App = (): void => { + const chessboard: Chessboard = new Chessboard(); + document.body.appendChild(chessboard.createBoard()); +}; diff --git a/src/app/view/ChessBoardView.ts b/src/app/view/ChessBoardView.ts index 2dcf085..c98f91d 100644 --- a/src/app/view/ChessBoardView.ts +++ b/src/app/view/ChessBoardView.ts @@ -1,21 +1,42 @@ -//Nie przywiazujcie sie do tego kodu. Mozecie sprobowac wszystko pozmieniac / zrobic inaczej. +export class Square { + constructor(private position_x: number, private position_y: number, private color: SquareColor) {} -export type Square = { - id: string; -}; + setHtmlElement(): HTMLElement { + const squareElement = document.createElement('div'); + squareElement.id = this.mapSquarePosition(); + squareElement.classList.add('square'); + squareElement.classList.add(`square--${this.color}`); + return squareElement; + } -export enum Side { - WHITE = 'WHITE', - BLACK = 'BLACK', + mapSquarePosition(): string { + const columns = 'abcdefgh'.split('').reverse(); + const rows = '12345678'.split(''); + return `${columns[this.position_x]}${rows[this.position_y]}`; + } } -export type Piece = { name: string; side: Side }; +export type SquareColor = 'light' | 'dark'; +export class Chessboard { + constructor(private id: string = 'chessboard', private className: string = 'chessboard') {} -export interface ChessBoardView { - showPieceOn(square: Square, piece: Piece): void; + private setHtmlElement(): HTMLElement { + const boardElement = document.createElement('div'); + boardElement.id = this.id; + boardElement.classList.add(this.className); + return boardElement; + } - removePieceFrom(square: Square): void; - - //showAvailableMoves - //showSelectedPiece + createBoard(): HTMLElement { + const boardHtml = this.setHtmlElement(); + for (let y = 7; y >= 0; y--) { + for (let x = 7; x >= 0; x--) { + const squareColor: SquareColor = (x + y) % 2 ? 'dark' : 'light'; + const square = new Square(x, y, squareColor); + const squareHtml = square.setHtmlElement(); + boardHtml.appendChild(squareHtml); + } + } + return boardHtml; + } } diff --git a/src/app/view/PieceComponent.ts b/src/app/view/PieceComponent.ts deleted file mode 100644 index 2d02366..0000000 --- a/src/app/view/PieceComponent.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Piece } from './ChessBoardView'; - -export const PieceComponent = (piece: Piece) => { - const component = document.createElement('div'); - return component; -}; diff --git a/src/app/view/WebChessBoardView.ts b/src/app/view/WebChessBoardView.ts deleted file mode 100644 index cac648f..0000000 --- a/src/app/view/WebChessBoardView.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ChessBoardView, Square } from './ChessBoardView'; - -export class WebChessBoardView implements ChessBoardView { - removePieceFrom(square: Square): void {} - - showPieceOn(square: Square): void {} -} diff --git a/static/img/board/dark.png b/static/img/board/dark.png new file mode 100644 index 0000000000000000000000000000000000000000..a08e771387b9c04fe3d147f6ba235f9492461fa2 GIT binary patch literal 404265 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

+j6u?~Pk( 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

x4xpO#cqz|zJ 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

gVq;~l&^v>=Qd!PMj*@b!oDx!PZ8 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�P8dh`(+!61;W-cbc_`Q6(D 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

evm0AZaXdvox087 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Í>rvn5^y!lWB5lJ|goe_Y^~G;ywl5NhyGRm+TYyznjJ-8? zh3p@|Pgj@h>F!R(#9577s$qq3n2sNyEnNWr_`x|*;2yNe!uYhTdhSx6R_yb9U!e;F zWT3t3^}w)(ZE!`v6_$~O(64Et&`h&ti+WFn9b5?D-)+D6`Qd-PD*%Dng;fDAAY2(B z>dh0Ov1QmmMlEHq+Ih~ zP?7{0!TeXNQNAPt)$U;gQ8Fll7N+;^;AaFi)VmiPuhO z$a~C@YFKnL4Gugh(RzTXY+WnUo`!3y(PY)5pdVM>U>!`K%isq0#XYliImf~Yo!0v+n%uefgUFfzq9e}+S^*c%`gKI7{O=IAEqQodVn+_?;E?)OhJX68xw z%&lwo>_iXh*=GLs_13+A)hmPLTbIxCPyY6Q-ar47zoQ!QK`dM$8LpWt)82Fg2xBny zPJKMY`~W7jMT^{mGWauW;gHShntYHod;tb`+Q*dBjK#dk z%K+v8VAX6}%tALF3=hI5Bl1oI0N{()R)L%{CrR!&{&zlUVPom7w`=><-6CuOWDAikIVnB#*0O<{=Uc7_y0mMP++S`Ujf?vbxs2b4de8KZeW zf{A7qdsuEowWeHqE4#3=Ht((`bC;?`V2Mn^7M8cH$z}yBEL43`B#3(YZh(+nIFo7e z)jKWasZiTW^)!6v_j* zE>X(GGZvRR2(nBIpfAiP;(bPCJzF$p*CeGC*V0Z=Shzvh0R`mwPQn$uL@iq6%A|O9 zhz1uSJS^V2G3_tD3)<>w4>E|#RvqC}dr^?IqMJf=+d$O>2Um60@tM<)W0JkcUER~9~eJaE? z_;Z(DXksOj5mW<9#obE`G#HraCMgIL_bE?6V)ImM;Re@TEL2(nnvp!Gf{TSpTB4|n zN~W~yMrig}3)Dl(5ITjn*3JA-1Y~NED!L-n5*lhv@mFjudVPKs(5B}=W5bxy@;&*0 z@|?IP(X1uNp`?g+xV?eRfh8DNXrC%bfH1Sb!GYhl7dvmdBgJGV$2+~U)pcu<3B>!y zV|abJ9M(^5B;9*vf;xYV6X=QQS2-jK!WRM4>)ql)A8~^k#}f1RgXv&c15_`Yx?RO8 z)U@Rb+{yx47PXW}{t2&lr4dMb_M;|k^y40{g)HfT4}K9K+WU(#W~+$^i4y|Mgo3$i zIE%U&gGUK~wvSn?r6BXo1kSp8!CrGhc`AIqJT^s26KKc*);4H5JLVciP$s#`{c75Z12dnbgyDoPU6-FI(y!zEih zKG0l5ds5~c6sJ|_z59AM%0bsSGLexjuUEMHiL!ep6mg|hO@_Ldi~cxghkKs+i3Ea^ z^(eOe<2i|SuUe5Jqrr!W1!)#;ODBMsq@@;y*mZU9G&AzLHVniiHU00<-(%vO{6e$EH%`&2AL)iO$v zkTw8uit&LLph){}!rS-1gr~*9PqN%OKwno^9;s`YA_ly>#k$qWtAaLHTu1J*X~hM8 zp6=V?gf%K;QOAyd=WaA!ro-q71-wNu;4m5HL2Q9Hpsz*-@>pf&McS#L8aO-&|9E+R zb<)n~X<1?qUtg6^Y|j_*LUC(3zBKV6EX#g&%IJng!hyEC!Zw+h|fRThJm53;*-v^{(d<03M(Z-mk3ia_dZFoewlv;{5qTX;cvMeiM}IMmNuf z(=?5i$@zB~*SacrYWp{>lJoUf0guC&FrPAl%3*wV>+%~P{huk{0xW#D`4NhGM)fpGe**Q>|FMcE{q)VE$bcnDP zS0$J!5G-Ok2F=gF!=9`g**$~>glV68xE7?_1Im4f;$9rQi4eBuZkqyP9=61~oW|7h zo9^Gz&Ps4r|<*?%zLLxpO=gu_aBWL{CfsaW7hf31vaDFobm? zyTU`;3JZfW7o{Od)Ub;4=(@pcQ_Y$K7a|Ti5^VJEHmO_T9%UN6yI1!Z0~qh{(X6s} zNy#^hxxW?#T=leg<9Vfp|cz5i+qMy-){PI{CI0VAEY zYFG)gg<#g=*`+gB%d(Y%_if*OfAb{*!RDQltil@BJ!U8~b|m&F9cf$*Kz9T*R}*dq zM62%OV&MsVcEzgMNlF!QOtluU)mS9d6@y!Jo7T5h8usKWX2&mmXP=Trz!L!2G+qcw z@~gy{uH5E`yBi#1XT^f-nW{8ImUXsp;NDorVZA3_lVgQvc@dVges%BQ@8p8M+D!Re zYsGtVVKiHrvW1X62#CK^MbPfkr)0NIgKHCzGH5yRgAA&>hOT5+B-OEmOO`opyPen} z_gtgsvL^WC?8h1(IRR%A_8!dmG%-!udI?aPQQP+JFIbs z*WtVlb5SG1X5l*P5L%#wS1I?vh2=Rbp1gkOurbCJW(&IVlKgL>FodWW*%f3{C@BNK z?^?@Kt>$?N0+8mtz}n*ZD5PJE-UgR&rr*&1(k3en&5Dc6Kb_y_+@ zfBvK2Rc*#%J$5aSND!tID8xeeWy}cg&neZSZJ3s)_o-sllD?WxPcjcK z*>Ore{&afg7TZwUUvw~X`Zn!W71tvBL~ zScn0LyR}j1Lame4;-uyS2KTK_GH*y|@I;ZlCU2JrMg}0fI=r~0y-!I?#I+mXK{ISG zsZ;36#VrEZfCMZjEeW990PZ{=f zGmA67$FvPsZMbKv6%SnmbTWN^`TSLc9`}8ezL3YicWY7rT5|xPbnp#^KE35}s&#a+ zp)MCJ9L_rkwKyx4S=iP%2&gl73uu9kdVkwem*2~LXclO_hwE4P(Y9N%1uQllhf#JJ z02TY=_W%GZiG5xGXH|=`@DD3K>+>}_%-$nEGse4N?Qeymey2?V z?WdLrkoO)|vR-37q|}8Ks_n+NxnARo6|=pheyvQO+;@}}XdeIl!&&zBVzLg_G^V}# z`||*DxQh<2frK)=Y8Egn>@0Jtm2+Y*+K2BxYAk5EF1(-j8he~QOhjRkGbH3|&?bK3 zfQpK^g!Aj59qo!i1HET}mCNDas>!`R94*5IcrM0$lcyKDl974tw|>uOA=B&4tKSBD z|0XY=pPjjNHA{>DF|o8ZV;GiMwxpD0+Z5M+8iI2#5^um)jw^7+1FNWMMj8}f$;@cV zP|ph?NSHsz1tA~aJ&4t1Yn!8Z1#i2Qk2tT^X3GE)6E+8^b9`MjQ>|*5bpU2cY+**1 zk`*;tVgY1y@*!$~@k)ufiv-MbJc0!JQ?dTBs*UE#*%GK)qj>Nfz!=QDyH+XVJPyL6 z1>1Xo?gWytuGDj^T^TeB2}thYE(YO3K=2iXgIR;y>GS6=^xbzq^W+LNawoG&_Vnx! zJT#b`nTa7lzvj#;3&Lk6#GikCeU@=)c5?B1`#Q{k+jjs0jGWH8zoQnavg_||&1*LV zZy!N$7S6>g@QbE=UVQ-k-)x;J$t}SD%LDj!B?W>%r1Ri+&!&q}ecA}w+gj;;%#!-!4 zlUI~>5Vy35)u(tIZWc_A#eE%kA5=iSzA_NMn7}Qfu<*~ug7xxD7Z$Ad@1(ynhaS9e zW%=WIADLFoTC8-h4;kXx(imo8m)G0{SF2(b&z^@2yfmORc#$i|WUlBQ?~_^n(HArW zaa^)@_&D_|#c$>*vvQfo55UQPqZn*WN;bM#gsXC_hnUBf`*kkjsnBzCR}nK;Mg$^h^^h*T+5X z4sXR>KdiWiY(NqPyK+}4)Q*loUHWT7nSxuAy(HZ0l=-8|!n0UjMUi;frFz5VvdhoC zgv0EjMBm?AL2}5MK9)U!a)#HkED*k4qtnn_N(f43cF`6C)ky5nHOfgXytdW(tCFqK zPtIV@?sq>ky^j{TM9*%VNW2gH2@2qBC4E^Vh$gi3q2IA?&81Zx*Yib?Md= zD*=m6v4daC-2(vUvz2&<>>?5Q{%x1&#M1g zRwykmp%#Zgu(VG-_d%|k1u3p^L>)#ZZXtWajUS&gb;Qe-+8 z2?J?H7q#A^HJQOc_OW-Suz+v&$e?C^CJ9ZftoGtPhr<$=tTIlwIx_D}QOuStpnVw! zAjiaNRm$1Z_fDt78g#xRpWh`53|*ndAw8rsEb*_ zHhH`lC#rh6RB1PkWanIBjdy^T;w4w|%;8ng0{mJUN^5>LLaedr(?;bq-6Ovr>nRC2 zplJ#Vt%K?!HXOgI@l+Jt?hQA!&;m*|F-yp4m)E^tStV(hsnGlGxS^pfW)v5#-{T{a%YwgXnvXC$BPM{*`}@c;g#{|E5W2RcgH=n| zT~ik-f-zlSS>P%cMGWD#4B5KSNMN;NmlcnVVJu!lX%2~30PpK#qJt3m5`|HV?UFFR zYJ$>S&uf1MtSx6) zF8*x3MP0_CwDa>2zm>xiaw5!ZEkWETyAF|{z?N~iG)1VV`Bk%WVBWCIV6Cw3-nVc+t~FXF$=oi@=DQq%P+k4n zUw9Y62C*v^kc(P7n~j;*lP!4=o)T`crgA0wPDs>X8egr~tpcauH`JAGIkaL~n}=G+ zTzV1)8BlkkY_0eyx6k~y_ZcqQhRPMgQp5wXn-Yr}cPBIz&(F_+SChNTbSpnkgE%h{ z+JU4Mb~(es#7!&1If~-x@%#9Fq$HcnGYb^+Z)ZcO7>RnF5Fy z*0WH+yMZ{20RmpVOJw0EDhqN9YW^&g_xv8e&ek)r67Nd$%|VS}37=V!b$a*iJ(c&o zhj)j9aYv6|pXllFS(I!xjBp~+pZ}{rr|%Ahx~^T4=JY%<_vkxwj$I#cIZ}gqwe*Ljgr7Q93)`ce?kR7~Wxu!KdbS*V_skX;eX#>|K#_C2-qT5e`2ElI@c8dqga?ez3=-q z3D9{HW>)|zzR%ALp&kqgjdKIOmBgge#>|3uR90Lg#(VMEYnMgdXcutlzB!JCwJT_t z`#!FNxUpEH1CYz0hawIvgFCiFwiK*R6hY(CpuI%Bq;8z2Hzm4!pFLGQ7Z96*g%O)5 z34q2RqBw74=wW?o4Tg#z%~ql-Ap$UzgLL(|Hfv*+tr-k83yREO0Odb@-O|>6>hmQA z8#GBVkDLI4IpyzP(FoC%(iB$6np~3I0fv4zGBLHI$_V~OT8aCQjE1Bvf(Rs1z*SRu zp`3u!3@|#7yJCZ(anH+|h4#GPc@Ofs!5RejxF{JEZef{o(c}`X#GdEa-HL{Ja$FLZ z2V!Lk*@W`?p}?HP&97d&CAn!BpXWZ3lF@JOBL0sTawWP7p~&-@`Po~)>)+MSk*uX8 zompoMo0BMgNyERn=NTO8hn$Z!%U~>&EM3E=VR1yLLbYuAi1$6EnwENAH$SWJK7dbT z1^w0)JcrNxRPV6o4h0Gp{64$wqYSo-TvKp1Uz4op)h+k4&{t(O*0fve#@Wb#m_S&X zWdAQ)D#umiJgGAAA|Xvmmn7M$?B;(yKL7RciC#I`<)zWPd-iBFsX57Vi#u1SLa&u2 zIQA3$Y-Oxf_Y|I_*XN7G+(}Gs0?b0ctN@t@2>d@SN}yvZR9KYIInM5AKjzBPGInO2DoyS^WgS7ejK^``IpiLWp zr)XH;2Egfw60LiC8q|OzTN?z|s~gdya6Ku3>@%#P2zZ zb!Z=B%*&X{9Gr}EP~0pLXSP$ETUVlNQ97k_-kNV$NeYJYZ~d$$A?&`la6Q^_8d(?x z7~$*7AvAq&{P_S$hn4TdbJn8Y(p83Qc$vbd!u@3T)ODj0=PoN&x<>)R2P^TscEvdx zfo6E06f9TypOQRWto+B5e6J@(?&`{GP)L=gHi4EB<3S7(_^1~jHzCg8L9L!@6}{t9 zOJuyMB00+%yK}v?%jPcXs4fsay;UUG-Zl*nQCd6=@m$iH&Fe1exl?-NQZsiR%OyOy zEY>TUQdyNa_|EZ*t|JPXa|tA5WLI-bdc_0^0PKowK?}+v*}8mBDHYUHRyO38Q?ZbyVxvw;ihr(1|%p3HXQ1(dLn60bRvecSW z_n4Q1NsR#wn1}WBid@|IptM*mj@(;9_U7O}%gpQ@gp>qD`-k+7{=4#$Jw6CoX0%)a zMi@U~dgQpkhhxrN>QbR~R*usyH_n2`&-qG>mjhk{RxoZ|_za4-KucOJ0)*9+i{=Il znggQ{g%YG$%a_+ng!=RtBVTP|RMi!&_&C!Pd%P|N=y#*@^VI5#wKpHV{}i?PdBwN{EOHr6gWk!8-#FZv6(^)cp2zH zc>sNDbWvu|IR|_4;-cmkzJu~44leEcaCPOPq;RFGrBAbCVRhS^9(q^|FmAqEWb72L z?WN<3hR7Q99@&hc_4VPi;(8&4b^yR!_5>Pok>rv?D`OzX<26^d_GUcXNXKC)tR)_< zD$ew~JKagV#q<6|??1c~_Y?Kz;17bb*QhSed&Bj}nrW+I=9d~=RZ2Vb4WwupUbYtu zJWglThBaRBSlT=(`l~OS)N`MY+*`oo+VsUI5GbW`wiUu#komi+k2$4N3 zut-$-t{{NJh0!gbmTK<3$Ky0buxM6m^@FW-qwcvx1eF93jY;7T3NSIB1+i4&Y=pU6CZxD{?(S*O7{DBO4(X-6?+%)l%dSk-uaUJin0^&u4MI$^x6J}7;AZ$9 zO&mPkI=uz}YzyIKOYkw?O9l))zq`BDtG^cr7Eug!4_rtTV~mNB&zdoscbhsTdnbtp zr1j_2N>`*!8e>5@!P&GjjF5DmX&;Y`ZD~tCjlUi!JA`7cHZc zm-E{FLepa37SP~p!oM8RnAOb^jv&M`SXTg6t!`kE1fXs};?-P>;9ckQgM%@i9w(DP zA#q^~fZsieRG+;YfHnT=!S)i<-Q6lHVJrrO__MDEpydpDRXnN!rKIHdwEy|aR+eHY z*Z;N{EH-+)a3zIJ6)TQ)<@0wj%aB;jC;;9ga$pDGIKHw|8}$Yg@@PegE-n z@|QymNDF2k3dP>l0?f*VgHvLFXk}cM?t7-nd>9yD{D^W*)|se8%w?t=8g@je5UUk& zs6sFirXl@dx7~V_YPgPAk#JVJfo2|8LpTuBp630IEvJ%TXg~pOZC|JS`0@Ezi%-u+ z46u**gas_UZ}=bY%>ndRFSm+9F1jUpu9k-)eY=KgYdqamJd3IW*fRDK|rn z(4v$FE(MERzO><-snUY}^qP$Fa>)GW*Gp1zs&s%_S=gTipeSf4y;^b5sJEkpuU{NG z3m9?mq2`#A0375sXLxeb)gdh?{>^b;$T|U`!*ZbtA{cPQfq5)YyKWE+S08{^PN|+V zr~t6^9!)Hh$Wnq33b10pldT_&QI<9k3xaEfjyken$5uIrNmE8>y=XDHKH9IJksd}l0~;2C;FTGK<}qY}-fazWc4Ge(NGN?3Q8+iXj(M0!mHy7s=1ceLpyE!)io_EGJRah(d$6M_XFZccF@;z`LoaY&c2mme8`lJUtq{5x5u}bb%h=WL zq2PpN`en3ywZ)qZa3>(O$XcB4X0mS63{s8@WW|&X9eaCLT2wuqZBXVJ2@Ad#U#?@E zf2LWigUJ3mRs?`?sKP@=7K`g%j$%q4(`t0?kYZEEm@m5-w|e$66bIzZ!l@9(QG8K? zkATl=kNE>@#dZ=WvE+meWlxN`4h$CBiMb_7wO^!$gYoi>?(d`LXSP)FAmIu_!C01v z1>mTIVVS^5!J=rc%_T0 zuu}*!=?r1q3fhtf`x5H99k*rBYsNsaY|=TofkdArxV^g_RIy;NLa|3YUR5)qSSgMA zgMj#ZUWB?)Xz9o-%Qd_*m?Ijj%eoq*X&yoWK1W14xl`BH#vhL?!wv;0hPNbY=Q-|0 zUD`}{XFFSMZ{8-%Zwdfr;JTiyP9SJAfyuDwM=(0(+tZl!L#fxQD4KV%koWPe;t|pI z-ILOXCoK4V&AKZVIcqW1?A-HOY`fn_=&YK1sgJ-WuPK(m70*5k#&AUkAkz=%y)(#0 z0*Qhv?d*X$PC)J(b?nr2HS-|dRL~@>428mCQ(Osx&bc4udO0d04Goct?_H4?bY+5&L0rsO4l@7-kJ$Su9{p2=&;v&7ap z=7m}2$^1Z*6u@TnXdC0rq}`SzW^vENbPL60+8V(r;&6Fx%K}=l4h^!PWO3lIJe#}} z7xpf-@0v9jSZ&^?g)1p64#WUzw6xJ_!W^Q>siG>1cnJlKmSGM`w__<2nGpo!-=B8ETH3N|-0-1XTE++4U00pF$R4YieEfk&C3utt&64^9id$cLe-*2}xUGA% z?9u}l!{c$cgPzSOrt7;43|0o6TED3^!J44&$oDhXvy>W$v$w38I0I!t0)4H#L)*q; zo&|{qB`o|HEP%qYsUp?be`S{YYNdxDM3g_NFp|5V&RY`T8m&;wB54+3e7~p84+e0W zHALs%)gzI>GZYOQqdpA)FaW7;5GBUiaWJ}U1{|S81MK)(QkV>Q z3ae+u&cLHy37u{L8_6-CMVLZHTFd%r4z4MYH`{VS|$(10cxtf%BnT7Fe z#MOm&rA%YwOEY9uaO<;(M%g9quB98Vs}@VA>swF7Vi*m$?mmYJ;#7064iTEclDMVNVjmL89b>H{^oNI-TaOJ6#77V}iyf6Ga^M9&(1rLewGw zq=LyCs#q8G+}+=y{%CbeBlWOK7fC$Qm_XZMdR}(1!PMns@_N;fg~P}IIu2{?A-i9n z=*w5-<;)}5t;r>XG`5=5dc{T%;0UIlVl>=zGI`H6rcowk`=lULIz+WFide91b4 zbxW=WL%|0Y?=Xxx{MiS$l_6V0OAdb#BC)6Fo4MH4vU|n z|CW!$6FUd`;73UkFuU(xwQ|M8{J$LJStMg?ysubMq%E+tvl0}(^;!q z$h53L`mO;ZNo=SQR|M;AHCNS+tTE7HN!<^)+{Ynk7W*uO7qYc$Pi>7%!6{a_n*rIZ zea0-5&*Xh1WANT{)4xYkwzS@XDE4rpl(B0}{CRsM#J++ra0r1g*L8HA5#V#z)_f{_ z6__KW1bgK?i|4y*2nVn3R}?oj_%wjyxIs*6#M}n3_4hhi3cW~ku|CQ^e{v;30IezP zm@l%vTdm{LDGJw}XaQJj1cL?COv*ZV12|SU#T4<;*+Y_xPv;r8glP@y% z%f`T|OCfnq)B?7CF;r*-r-8UtTWqc##{dWHqd= zdDzPC@uQpdTP>!%$!A1yT%`qRVRvxXUi2H>{%kPV%(5zHh?P*SJFC?inup>r_+?8o zif#8EyjJ3}#XwOdChzg_Mf*i_CYB^Q2xDJlfamifnMNGk$%}J7M=dWL6v-|$v$H8m zCTQGgKw8{4A1u`np+T^$QC zagY&v2CE~t8Yz3VV8^PK3e!@Dew@Rh=EHGu;YQjEiG1lG~ekA0JGN6OEs@OQYAa+xgi&cs!R`DB|`dw`3~uZei6y7L!>R zHSIqVWOQz-ndrVEmZnj&%8%OFp}O^ylLy+1#RaHIMC%$+#8Bmnt%{f*6Z&g8iTmZ_ zdJ%W7%!Aa$(UP_WnppsDELKVbrdLZS*l2Ergd`Vd{yhMy?5|lwRha5`c8RwLz?VUt z-iuV|5N&laP|;_PoY@cc$eETN~#j&sd^UOGPXWTMzc`=QIZ+XONsP z2$Kw;yf+>lW596c0D0vZXE`Ic9MX z>Y*eDU@I<2$IIgU{Pi-dNl#fd`St2CoUt}JtP<;%`EJQ$8HS)j0(?%Ch4mBwfN~N> zxN#Al;{}QBa~@llo+Hwy(i9Fcf~6)Ij;Ww3U4u7oI8W6TFkC}-o>Ibk)S@Rb?iJ@+ zpC`%(&QU>(G$}Z;8F*oD_G%z}q?0SoD0icsOX{#Uv->cEKvp!k7(H9Bw0i@2@>)3n z=yDgJ`uPAmUmhO?`0z8{pS7=fkv$6nP{o}*49X&t>_04HV_mw1XGo1h3Dqh7{bgAR znaXi*t(>41wkB9Zi|MZiZqP(9v7(u=g1`HP>+!vEz1BnCpHHOXYj<$V8Lmq?DIew* zYMaU{F6)xbElWW`?@&eR+p@jM8omouzIWI34%Q{9< zr&e7!pE%5^n*}bE9PEFzpNn{U8CBQp_4-~dljRTp)^GPOzyEi&&|+JJ*;6{C`NsLR zOwf9@iLpj+(5zKup`_Y)#Kh@AOAORvJTxn>8lVXw&VnCS7hFhk$l0m5UQH8$dsP{V zc6?xBk<8a*RZ{J8952QOtx;UgHL_I!5WjT|K-08a#1>|trdE}49&hah$G@?4E0}2? z0d!ZBx|W)_2BUmQuh_E|mIauV;=ZUG*36xm<}hot7^56+vzSD}%r%n-4Gj0_-5Z)e zzHC}M3GskNPcx8}F{Rju?QpUDvtNEb%;QA=;ctCMr(-T>vyfcGt-Q#5;eNqbBungg zUeqQFVXl_i$Q0(6w6gl*g_oU1I5FtFXbF&79Hfr%kz@SlYA%NBir#d4-Ru&psnx0) zK0j!OQUAcy+s41jPcC*3I)XWqg*S-m=7%JH|N}! zA(KBt>v3EY&#u)4f4=8i>z!$4d_Be)p#bFT3LvfCrfs-)27Kz~45i#@b#{-Y@#L`r z+;Uqv+*jsLmF$I!k_5aJ;pZ!>~Bza<(xksE_zU6LJ-NPP01VuFUBtS3o zrdR2I6hH`qD2O9~5cDKKfS?BvBAX*otpP=f5?dT{IK$qitE%t)mdrfogge8QpP9MG z$-Gs)Fsih*7fes%nAw)aftXm zi^m(w`do{6*Ip!XWCyNHXwP4t%*w?RryEGidC){SW;xJD4jUFR2I5j|n`NG;#*&4X z+@n!gYG|{~U)?>Y7MD%FQ**JJb2)Mco7_MTipMJhYl9Lvyj8KZi3Vi= zNwuThHLwn*fx)8C>jV93KP>e8WE$EXd4E&B7aMF;yIi~mkj~R4n$`7s_ItU2BLupJ zTV1U+W?>`+_$O5b)va=EFV0c(`mh7afOC<1h9EO$h=!30)E0`l*bK$ z1IC{_B3Z{-mMoZa$B* z6$3nRa3PoKLU2%~EN*Sgat{DBg0e{d8!d?XGp|kX^>zS{+O+dO>SmF{YB0$E;D2v6QclBy$_zUK+m^DmYt{lqza@I09Osk(8iAC-& z{_5BC&HH!s!*VD0VxGq`hk4e+qsF`u=&P9brRiJ zvrS6O$bMf&Yp36@>3eo&*fNiry}xaciCVPWX~b{=u8Y`Q$%S>E#9;8{eDws!3-_SE zY*r>|mv71_77Hwo^!dS})ivl4U`L4vla#VIQVMkQ8Yd}fp(`q7RSbX!mL9qGio&)C zW(_xkpz;)~8iZ_hY7)T77NBaDJYOV=Y}Czs``>^6Jwu414t!6Q?sKtN%(rK;mynly zY$@9^k5kvOx{?n0plhbt=pIhMS)P4!dS$tMwgfl^2Aqr|Nd>Ex3*iJkS?i9vu~$o| zTMRTdF$UR-4aO8G&;k}yjGu%QoVxA#lK{)B#iomapypWk=Ig3_T#X5G{-ii$qfxmb zuU;BuBbof$2_ozHul_$~=i8u+GtH zNejs;LRWVHIa4n+vQ{MBgn-+$Quy{8|4{88g!N(!d0u~4FA)eu&#PqA(o8#CH6#;r(c7jqZ$bNL$tCeMcl zt|ms5&F9&SJ~MAv#gHI^crXxho(C89eRP##9l(&V#%yKM4Sfl%)-p8p8f){#E=mLR zDF4ET0G!L!rm36oR6qeuN9o0wdMDrTUXrC^jtb>~Yu!)9yFp0Xr^IZ8q0k_)wU_1T zgdLlJs9MyNv(zZHVV2v?6DWcSXRCzHs}=l|K;b)!ONnBVuUX{s`o2aR2p4F{brVV% zm`yv}V;1)QcPWF_dOq?s^O*2#dFN~M%JUkwP+Vd0X5R*edL750)$vVnDdYWb@h#kk zO2|3o2P4o3C9@5@X6TF8^+o}<`T;QD-LcK` zqtgJ0UZYtX4dp(ve9V^Sc`d--MG%sfa6ou~@U5pgacIWkm3wUlg{_MQ(wYy!O{ql#8X60nL zu}T&z2gr$>>y-A60uC*A(%gOPFHPM;lXx9pUY@i_|GM})s3K9)HDvc`L_zw4;*#kN zYntO1@%gR4vs?pM06&7IQw&>1yMxh-6vV~7Ro-;7t`GN~{uVcUQGkoOb?W9d*=g&? z8M}odwpyxh{KX&rJN>7B_8;qL#Rrk<)%0vWM|FKmAE#hmK)ysHT5T!oOIR)o^b69S zi(5~cm6o6cbcE?OtIlnG`nrJy2w!cNV(wK77R;annho4qU|0z7^hMG))c-bYi0*Mi zd2_#e_ej{BTBwu8xy)%5qdnB5LiU!gYmcrY{CTa*L8yj6j;w9ToL$rk#9&fg#ixVzEEVRj*Wn)8 z6HsXwmN3vAvb6zLL9aSzQy{v5QrT|&^6VcY_$lSLrY z*DU0U(N%sb0w(7Hm2-JyPwuW z^YlS2KVo~X+Pj6|E&}AxI!EX=fiuJPH|HDgI)kXU!0xU2p6?5A=%6l@*}yq@ZAGB9 zW=d3@1WxP$)Dg|~%P>dOkMV{X;2hWbFmQjO^AFMt_Tt|skB%io`22MhZrb^#4|oN} zfcUIT^G+TH(`W>iWOJi#PQ-eXTl+ID;i^(7?PVfXk z`5K>Hl3Q3ojP@Ab=<;H{U90l&nXkE3u2ZTX8d;yrOBB#qNt*pcj+Nu}S)_qLrEhl+ z0Vh3Zsg&-@kSO$}*j}jahQ6lQV!RPb$T*K+BLT-ln_Csue}w#Gd2{u;MnSj5XmcCp zZKT!eE_@4jprHS5$T_>vq5LAI_bMK;Wxy|3vpSSBDcCC0kuB_*KatZXn$Lb+g)|FeJpf7L(zH~*Bh+{Z@GPb#=L5WJL8Ky&;OP;H0sXfv4WKKPyrhJv`I z*l;uEOrw99M+yO14Y0vgC>em3mJNdNvK%~#Crf`e#1D&{3mNd?L~x~GVj&pR?+o-U zS*%M*rJA6|>+f1&KKkxc$4GPiaYv2`0ca0BDLW)m{O2`7>VC7A1<8h80$reHeS8%C29 z4-LlGnqXP^%I|>R4|9^%B;Q*V6wQ#FuOIk}fimaYH|D5YRfkQ3a|uP`W6$Iys_{AS zrtlq4clUm7SUUkg!rP(73VpW9G5+4N!&41J=UE+{icao{ian9TVzf>j0Pes8^)>w3 zp_J03s3XKt0i|LG_Rb+Ot;7R~Xts(gO^8LTQMBg7H%8N&0b2GbW`j{bBDDiOjdCNb z*RwS_CrLUFx8DoJ9P#b8X1o}NnScI&`M3M8{)>M?(f=%EJ{lvBn4i4pNDU7lm$e@0 zk9fV<;xFmESX7B~NCHlYMy*Lev`8FKCNpX@U~cNxHgMN%e+^4 z*!|r)jM4caaq&!sX-Apk6t4f$;&6Y`JI=;=AQUU*!wcdrWnlUPmG(qFEO=LS8_K2z zgX`%;yC}2-8Z0OPwt5M&;u53g+aw{PM3ahMlA7AZ#mz|?_IxKejH8WZWQO4A0^&0* zU}8!DazVJ&&&PXVV@bcgrdi1|6SP|qtd$V1Ttu~9n$ssAr#iZxVU2BVT#hmsfbwSZ zbLP7|bx`=lHuy$I{m+$|$tPA%M%*;N!RGbEvG7g+lO1iC2^)c(I zp#hF>C*ZNKiR4BmW3P6&R@Tp4jQ~fHZJhSlCX&kc6Mzq%E%WBFXQ|wRJrw)f1s_=k z;30O9M}&XJ!qsgjLQp? zC*>i}YwW>tgHQIuT%e=Mtph;0P6d-iaoe=;dR`~kPUUXCm*8tX`d(xRWlS~7%4D@>vr)wsSF7B=n(%` zC?z8#Kx=byJ0?)+ND9j@5$8Ps1CwbuI9X``a>Lp-1Nb8V0H60gOjh~dK^YgkSKg_6 zZ5!9t0Mtr3>$l5ZRhd@@zQ)!mGBBi_A*@8n_3G9nJ`i`Uad~;INR>iMjKTAQr$kZY zp2n$h)S5)0AJsu-$qZSqUda9UeguI0ZtR5<0|SBoa{EYav*`SSB8zrbNaj5{gM5H^ zj8)GmK34F@gF<3I5d*yS1kOvWqX0SShj_<}b&-nds_hgZB`LnShBmQX5r4M0ON@aN zYcSWAGEA!igVrNH4gxX)hSQ=g)nis5lvJCuRO6G@lo9Yzqnrq|ICs~Wuo2fsD)<*djMCt5R%kikCZR zY=z=1%65?71F=9mq!L-N(!YpnU|H572MLR7w$@<-m8Ar!n6wGuSAG1Y^oYrFoa$V{ zI%+J*8j{>8CR78QCW<)+< z{MPl~RotIfEd|k{^;e~o!Q8Dtv%Exfu#k8(0p)7d)#(8UA!{D4W0R186US4nJ}&KF z8`dN~Pwqz$aJCOpRveTeN>t#l-{T!iXiwwOZ`pTfq^<7LIb2iHIb64@uF2Y$_Zh!? zZ^=q*CslGjz;jL#r?qO50}F%(OXF%qKq)Czu=txNz)A*4Tq2Y!kC*B`hx|mi5Sz7L zf^b$rAMY!@XS?-ZY+Az-)+%=kVGpF3>1JUK@EAaW3_ua_xn%rOl4X`$Mu?=e5lKs= ztL)v?TFFWA<}H}K1id4}(e?&`T0pci$gm4DL1DYiY73YobVeP>0t`?^( zV=ylQ7db_NQ~6xANvj3`K0t0&znZ|V)}s_|wWVq-9FO;WVXw-IE81#ZxsZog6y=$c z@kp@pM3L%dw6~c8$~`)rCMaqUs+BpES)2ihi^TZW;i0fnP%@`x%rLJ@Bu5qB|D|B9 zLZ9nB13VN+PrGQVt}G+&%w34K2_Y|f4@+#b?{dtXD=&p6@C-29NK3{V#4Q?Z@3E;% zDB*J5ro3Ql&E1SzxceeqY>m}P!3_0Ic{NHpT|-ep!C>%hNpRvl%;2nO=tLLq3lbX4 z0!O1IToNI-=1Bn;17mlR<=H$mK=zRF16U`yj27sAuzt6w!XUt|qku0Il-VF*D_5+G z6Ll*aRzh}B4}K~iUX30K&1||)e;1R*LhF@i5aKletE~5*|KI+%{nJ1DkF@t+t8}4f zLQ5U#a=;sygHXk)q*@64#6W{mHpF`;>I*@;R+quWQMMHMT&tg_r5uWH8n#|>*$cHE zbq56s0^&tP*kS=FCcud{_byB^5PR2`Y-Wpjjn=?DOgY@)5gQc;LF$n}FMp6TN z(Ei>CS*9VrPj5)>8lZ69DN&PyUY|U_Pi*W&*1kp&D?n~BX&%&`tXPRD&z7eAJh@*Z z7ieLDwdb`|aIzF}VM=Pfmvhmzsml}tM98=#XXu!lUR!E0q;FRe1I%;U(||#*77-9NHTOsbUh=JlT7nwCAib+c?JA3!-7 zod>l}N@aKHol8>k2E23g;?~vsTt2@%`&z=it=(QixlqB@t-oY|MSeD{fpUE*c^XNz zbWE3^1> zSgFbs28)o2hU(yei*~bxhsXW?-Mg^T_wGVk>Q7#qfM;pPbW(uwa({}&&j)MWSZ}`j$#@1w;*6xTeUOif&qZ`@oqh#vG%5eGgj-*oX z?wF*tX+wF@z|Jg@IN<-PLDqKR!<6nV+G8^N>F~N(NVGoLog+}mJ4D>dKAM+n1mBA` zwV(0)q9()Dv@#7g)Y2l^Lcp4ymJ8`_CCjGzJYiy@ZOJ5BLf8VtoxHL>`8!a^32iw9 z4XkM0Fn^2}hY1%gp2vCt6D4OriuI8{xAq(B&e)|wGnc(^sa*)gWw#`7piv-JsTiYY z<_EVPTgVs)FH0;wvVv8+XN^DBQj04t?!wCM0-}-3CR(DU2XQyE-3-(;3!o?8 z*nA#hEUw0UA-L}EQnBO&0J2LA@h(g&ODZHfh^-!TMiUc|euLM|=@9)=ZS^QJKDvP* z@_Q8HC<@qh&BdKBYkoCXXSMPPmBPB%hJk6YKe>BU-*Gg_Q_mWpfgVvJ>R{=N4CX%4 zZYP?}{=SyOx>kA(=M7N5--vM<0N40&2BDaT;13D6w=Del8LyXEA)AA7fW>GC7Fx@; zwJG;jS0;3n##1XLQcINz0;OY}dmE%N+}=@@KLVoVy$pnDd&6g=nXde3L7Ot&2W@+n zZ&<Af<+^u~8hy1I$_Rb!MtN`XkcxJQe0(A*jla4<^WR%9MCgXI7 ze4R@`X3A?v6;f3ywt~PhdyPkKx#z2qDG*ybduD3MmXle-sPk>tuU|WW` zMXYk>QT+Q)pMTWxw&0(XY3%9j!Z(yQU9TTMU#xooB|)#CGn9vz98dVqPo1OysJ6Dv z*FO|7*TGDAllqMoD@*2~!2B=|Vg*DJB$czdMHJ(}f23%>fhC^jue*YyN|(LAt+Ccz zOp1&8R;^>grmX`LNG_#}K+pDTHMgsH&@79XPlN^7Yn>Whh_cd9X~4p_+PouT_GLz! z^$e#jEyO;2e@8z(X=xd?0B8ERb%z^A*UVHTrX2gM=dAwy9sl$H)4$#S>i_qDrH>!J z*+Ip_{_xEguS+vo)%X`Lmyw4N0g9av2b1`0vGY2#mtf<5pTu<4U5K<=CC^f$1`BQq z-nyAPOkR`$pIIjSdG<^lQz{yoVo#uH3juQ11?gyE8j)@8%UN9r&9seGk|By{V^3e7 zwVx@e)+$8({6ZJAzOlBv-aiOiR!ioxKSReLL?!No)Q#cpL|>o2%A>hXog0+8bqBa! ziAqUU3Y|}OcV)@B94w2ZS$v$eWY@iWe4vltek*N5JaY(3n^qZ&LEL;PCSx&1rkPM9 zBVZr?omf`&xqV1Z4$#q++qp|r6b573Tr8Fa6j2QRl`~sqU~w28;fjJ5_0@|0O=4_#K6#vyK+?5c3|kFUY3V~IFaP51lN&&5 zR*I+}&+BQN`gbF`ai_zzN!b1TF>K~HzE=R`u5|;!A$VI@!OCbE*FTKs@PBiPS}BH; zz+=XzV?B5+asrTi-r{%e3~;`xKsdK#b`-ZK6W?8scpCT z+&Q;ndRUByP;2RtMY>z4yVv%#)#Kvd)q1daIh2ynbq+&_|CHm%izyF&UDI}V7Q@jE zXiAJ@XThYF#BOWDyiN8qsaJC4l_Dl4eK=$4#S07!`(_|ss83oy!G-rs2tQnp&1ubMSmtt$lw`a7rjv*8Cn?-951IGH-gK{+DNLAC#eX_)D6Y@* z$W~3Z7K_2vcu%wPOw7xxb=2^^U^L9M#7~h#JR2Iz%ohp0C;`?I>V?9;SvZaJ%pUJm z3~Zh+7lJ{9K__3hZ5L5Gq;^|t)&p8^&#`lG?~Ci!7cMDrL|&T2`5w_=P^tqv!<>UI zCx(^|jnV@Wn!Ypn#bF1}&pXEWG|Zb86lKj zAII(S_F>P(cyKNKogWe&TO&qnoF|Ah{GGGa+bbY+{QkANcz>g@wh{EbwdS{Y%kTOO zyOAqCOF6o`UAdHh<9%}0Z+~O)-uiA1!Y;2|D|}_^0|@7n5to+F&%Bb4+|dC+{T^#H zkE2BkIU^9|AHpCM=%~fBlJl?<`s|LQ;f$Nl+V{;_SCJ7u;dfYj#hC$%4|UvsFXM?%gyemaaYp@He#9?tKP=~OGHMGlma5^Um)T^NCE-mNv1kvw@pp#Eb&O^7mprE=wx! zQqmk*0Jq?^H9-S@M=jIjbN2Flp}+i#U(sLx^(T6KcTa!#Z~g0fT~Skedf92?zkUS3 z9)BX{0`pHaxkcL%{JnJy^Yydm_X9AyRR^v7Jp(zonjtKQql_QaRLf@ODK~DcxA-mQ z?YBJuvVNQSy#?HVo8tfg(>=;-=Xcv{13N9R-t%`E+raN;-sfv@+;e$PL6C_Unf5jA zJD{a;0K;cl!IXPY6206q>de{QY;kLntl_0(Isl{cjXaJSpwII&e3s>y|L2v%1}CME z&gw?PJw3UlQ)HfY>%c=Pp`py8dkNsGGwQ=a$sfO2+Ef54wbtm8(0f=wlRQA|BjN|~ zBHh3XCH^pi^hRmvhdDs@CjglA$?c(NpF9x1-=^J;g7_ip=lz%s6%lK%9Uu5`H*)V0 zGi*E;MUBN!Vul7})pD`{d%*Zums7a$ZR7d87gZ#DECjp4m|c3kM)o^eF3KxTC5iAH zN!&4TjQ4%*7^;C7`17UMg1)<0%xe_Q)gVPXp#|#oMVROi01semK7hdU-qfCY{A2O!Z`@jtP^e!NrQj)tljV-F@M~$?ZVU;vTF4%F7xdDAm zm+GKZVvDHybD)8U8=8SBStgQYn=T35;5oNGE9_DcvM_7ghWJMQd>><_@4x>@mzS&bQPmj1#KcRt_=#g5-1)#-#0Koc zT13Eqd(=?hhJD=v z_tx|NuE5+3#DDI&x32wdpOJ19YbGZQXX_7(x61(OmZjuy-S03SuRK3~I}VjLSHcuW zgkm_q*O0MaBHX6l0!`C-KCT1=SO)%o{=fef{g?m6pVPnjhkrmn{NjQB;9vU(Zg~M8 zz#e-`>6!O4EQlhPl5(ZIkzSd%@!q)yuJUIS)H3+ZWm=P1t`RJc^L!n6L+v4pkd0_> zID`qzG8LcazXO!(dE$<)@I$m`RFFUWR)+P1W~b0j7};x272%7$8KqI4fAWLhskK zZUY2cgQgK{D9^RIAe%Q~QXK%2&yB36rKU_f>TZSVwy_WEKLKrLHcNFK)HsUMGc$*! zE4UKIK#BErWh7uMZDPbY7fj>B`*-wj{15-3xVgXk?t?Icm**pZ0IzN3wsi)A14W&s z<%|^0CL$lYX>@f|8iKL(sjxK8(TU2ni(3-3xsD>he2fcBobcwDCZDu23rxS(A2)zg z2#QfK9OLzff(3;T_fZeu$3!P zM6x>7Gk`#6vEEz#O6(&y#to)=`6o1<`BGg0GZd-UpvUi}fSRG*A1zq&d5# zDA0{hW-O>{7@5({p4%r7c`(9nEh$BPa68h#LkaqqSydxe08~J$ze?`ipgeYUkNUjO z00`oIbFFPU&%AcrRpIN8U+ClGN_YF(EW09h`SL`tEM371spChYkKh@4b(do9+qENd_3<1!>-4rPMN(ud;W>bzU~hXt>Nt5(AylaP+hC?UWZ?+Z*pz#;$W(-lIO-JPe%7C_*VnONt8V@Re?`yNxC?ms3k683J0rp}ulH1|A zJT_iXdp*1~-(@YU^Ym_V2x5b8A?AjPY-4=~xbm9;Ep(B{a{|o42WsSXQ(AOf#laoF zx5_(nuX|#ep3mj9oPY|lz^!iU8v9%4t%^tYbgB*#QJxEPg2XllwrQse2dObmSxXQH zLCE*mbhRD}QU)SDwqF_7V05WLIH1mw56B2aH^xS@J18@D4yF}=Vy(dt=Y*7dB5k=7 z?_|$#p`;9^83AN#9K}@oA%U5vI|p@~ne%RWr$n+?u&xP_N)e|4CFWrtFNjSwK~4%d z3fGndbsoDC(_0pzOqjwp0|>Usl`!20`}|%9sk8tQcOo${KX9@#*X zrY$;fO5@icc~n4O(puac(amvmglhEWs&g*Hr?cNu)~ zvCv4jEyvA5p$34sX!jg-YoY`OYB1hDGEl)7@zXnp*tmII|D!+rAMDnY7Xcvm9BX$) zo1_R~z&dU>cu&Z*7{gjMs9orLA1@lvTjD#Rw z&ja{fIUw>uSob5LLrKASP{QY&`j}FIm#hrM+?^jZ0NCPXZS>w2SYN6ua{w%PUh>#r z+f%U-vcsQc?+95db4dx*P=FUaGao7nzya}WmEmc3I33Qh?|I%vo_lMaF@|v0=5q?A zF|wSeFch`k2D}5%&IuB^-}DeRMwDt!#yInudHJp$A#VAd+@rOBzc!ee-S)X36Ay8^=R$e_Vz731ywd#m$ za>xrH;=S~JbW?hB_pX7NoLDuMR-js<)VA&dCF}HaopF#XSKYTQ0OA8%~}6uES#t ztaOWaP>$q`V9>XWA>*D3cp(H|AA11Yj@#=sy^mN(UO+X-ZXgQpgCfoiv8+620MD3= z)~#enBp?LXer-NxdNxZ}c5(I0;HR7Au^&F{PR9XYJLS4|S)svaez_@PN-6=|kr_EF zrI_nN(-_kdT;n~rqS3ram0@VcVR zMUPTUwc7in%P15Vw^Ekk=N1F(K9nTPcNV(;dvKn>kI8*=i9#THT|c8y{ud0ffoFlp8vI9r1dBfmMixg{1CJ6MXX$DA5(sqf< z8`QOUT%0g5eF;AoE;`wKH8h2u5INo{CYdHJF6p%gL4(D=4O}vS%|9XZ#VIoZEqvbx zO^=-MMX|}y)S-VB8!N`6nosV*s#XY;5b(9N1d-^)m*XhtNNZLC0Kj$xk2zR7Pvdx_ zfdBD_@hjITRXC9_s>QO7w=H5`Y!ory8)6+v0a5Q>t7x*7Q19^`y^r86Clwu5wNTRd z4Tv~?>?7uAX$^a)p5ALq^Q7}PT6X>YdKyV=fmbGy29OoWIR+FJIT^NV{vOI7-Z=6; z>1nZMA&U8%n6uvlATl%iMDrLA1ec!EQ!xj!{TYB3{3nJv(Ov$eV|^Tc596Enp|H4l zUzg&Zfe;WzUma^SS~zaaQC{cad!vob`a&0raV|!um14i=caXhnG07OGj3Kon>-gO6 zyA)(+Dl^v(7E34-rFe}t;jx$#idZb2g9y*@BCte*0@97&XBvllUP&nutnhkJe33K< zKJ4>k^}n>z|6-Ov4qIuHksYZRnw!hTCx|IXWwfZ^77B8Hrt z&))(s>zYE84mAF{vM?AP=xDsi{=6MlwJQp8(d3ur3ApC50xvqCyQ)!{z5e&IWt*Un) z9yL=Yzt6hJeKMlv<96B8Ix%8$ZG(()`QrM!jG%X12l6${^EA#|-o&t^#(hv~C9X@1 zx{$R{%STABGObf7anII_X;SmzyfQD|?3~0pA%Y-{y%2?v>Z4`~Fw+Meq@?-m2QZgo zCHbVSZ9dVf+F?`~NKU<1HMRH#ksLuG_A(}VmsFmdXz^4`7z_Z~oW ziRR+tKG%Mw&Gx~d;miDldNI4PZV71bmN1Wp>p0%vUS0N%T5@X=uzG)z!nw#UbZS2%v*7AuMzBq;$o(={K zLI=JlZU}NBFWhf(dap(_sCO}dZoGqkXl|XYcY`H)?3FsK5siTD)_6oe zHE?@a<8-bnuUll!Vwy_18OC#q#_~09eKsgDx9+olFCfmcMl~7F-rtJjvsdlQ%U6kO z|MuH&=+0czxIeFvh7Fe6^OMS$N#-=4bKT4sGrCRTCFD4Gc7gj$PCQ7vGIjSd#&U)C zs7?jjV?MRzpR{|NCj+KfOa>NUW*SHI9H#0~n<)ojlo?EBPDjQxj$xUuhvf(N&VnY7 z(@}1V&HLKH-=R0)hi^VQ6I`UHY%}6kbiK8UfglYgz2Du7-2SCpbq=Dr^5}1$flXc| zXh9*M`k+neoG3%ae1}kY{heMr4jUbWD$l56Abbqi@7pW`hY$33%-PQK20qY3M{0FT z8uMsA=1rmfa~JjM@t9hO&sGamnx_Tn5`VFMcHy}(ML--Wfb+~f-}$D=Ff?%|$ZJM!AV+H&i=p8k9DXhAF9 z<_f&2kN0e^@WIyvR=y8pK5RvXnE9(QH z{n{aXa9wYPXWTmGxx+L4x*jfHJ~Bwi=cEsVMyv)}C|l#{UYfzyhBFYMuqo&z$tG>B z4;Fp5&ha&yCP8?KrMKUfgq};Wp4#1e!}@bc6+-Ycy=szkn4_h7tab1`nFN2{fhH0{ zuEsZd?LI%S?x7o!R3aEkiH$NcD_8r{LGatyZ3qLOwm%5~qBY&62E!rF~ zg~f-mQvTh?kM!}~J1bm-l9$u?w)o60$zWXttKin2hp0F{2ZVyDY! zB}9!ztid{s+}mQzh`PP8>2ZvK?#JM~%)Bxq&*#iX20q7lHU)EfUORv!{X=x0xcWkFkMbTw|LKbvwXi z*r!zHpJTlFyjd8IKNF*v<~IxW`R`dv!?W^F-_%{_W+^3V_u}`)`NyN_q9%`P1CZ;bN{syypVzWIbB&Gjk=P^ll^b=3^FOnXdsT57y!7JmF0i z`vnF*+_w}1G4|?;-2EM?lwnHxGzT~5rj(oSo4@yX;eJf0!XClrL%SlomP1%#&`|I? z<;Ld&L|i0nBObE zABRYBhaGt0I=9bDRVvVB;x)x<_`DPkEy(eda$mU*(XF76dGFwuEz9_RUXxqb^0A^W zjFfvI)zWJz$A|KNY63DeC)`kccC%ub zWdmB5Gv-6zGCE8sGzhT*ZNbzzJ`b&O5KJm!wrIHzDUm`^mrP23a3_bYMHW=b+?^K_ z=70aRCBbJZZMTh#au#`RotW$R&%>+o+aYj3QYp^4MD-rUkvd3ChOs5r&3Y`uKGr50c-IXh0U!}r(-vh!U?t7TS^8e1ySEa+y)Hu*O!_1m3Z7!lQClk3Bi2ObF|~)wv^<0O zEC@0UWgP z>Bn9J-(yF#?5dZ}b zhFz=HD7Au$_n{(^un+SCFBZKzTN8+&TSqZKc=aT-tUPBL%d`Yunq|ZM{AJX%;0YDG$)@S2Y-Vs3u z!tc?+!unnhbks*Ur(r_5uASbuP8Mp+)qI~>{$U` z8G|g%YD|J&kyk*lgSOU2ur?#q*AOXwM%I)HT&t@&WFCd~)rNSQxhn+-L&mX<)&~)e z#e{eTnB3pjdgJBsK}&UF#eH}zEgD;+D09@GveWFRTWCs@6A(dXW_z7$o$m}Du>{@B zybeqTemiR11dYm?an}+q7%<0X;O(03fhOO0%`6!B90Xy@cm`EbeW!?zi>jk%2|8(uV25z+}FHT)TkN~%@^hD6oD~iSa8qfKTWf-! zBhZT9vo)6g!M&a>p0EUh=9Je2t!E=nJOll_NtHhCYrLA28E~!6rzroedn>GYtecfh zvIn{>o!=+(j=68-U%K;ZkT};dQgJO5xhGcF_06p_~k4N zyBm;`OIBqsz8D-{u@tWxB>~8ZIC8y|`M4!;#IKuTQ8JU7&9Hf5^9y9+0$|C61FhHF zWth;=rsfHp<*}jIvzy{`CVD;`|8SsO#8O9zsfpj7H9_9k z`y-y7pJhHI9sK@I>gwH{?si&hnn_HEnuUVTDOTiRe{WbQ<-3zaf$^qznW z)>SqDH~&sX&*BD=j*7*<2J-GNXBBbfic z?V;c;?Jc*KQ)B?QD2m(DT#06DZoZkpEvZ2{1jkzkF2Chg1izTwJIz3(A5EFKD^Nu( zb!#aeAC;{Q*oT?XaZr7Z{b8%lEGu0T&V0qjn0XZrRHn~hYqoYs=DKP!gD^d;aqnKN zb#`4lC@e>?mFEqB4%Uh6UV}BrW8P}@m}5S!py3U zwF586#+;?ji510+2=UH&S^fpzw8b9 zJ}TjbG6bu$=h4mqz2jM|v`B@F9(3YLb03?P^7ShV*)t1K5y}zQ1IAFxi4dg8>pdfQ zx4`vdd>W4Hb<8?bi_bQ=4sZ`FbTEFfCtPc0Y8thRyn*=0F#-9x^Y75)@T5GBVk=e3 z_$;>6oK_RsL>3P>>epR4@?p2ihJxf&PE0unc4ib#WK}m+zF+N8^b{Q$To@(d>Gn7X zx3!N#KmbUJ3F5!szk44*vT5~oUNipvWP#SFEds6iZ|;7zsiqd*(p@rwUlX1015rA8N7Ib3o%;yDIN{SaDiNwa&P;A@!Iu?;I5{v49 z$KEsV8(8v6A1(2u1EbnMO&g>t%q%N!O+6c%qZB(#}+-TrL+?3 zT6%z)6BlUi(DsR})IhiD2aD8CMCKVkQy9X2Z@zC|#<-ANM^46LV3vi@T9<*bMe1f^wyE?LuFt@^Llw~in&Q;9#&1c z&wAsnbrv_{4T~hk;I-ybg2&7ldsd+O>#QLwZt{~7ASDyfrFhqh=5aI0axuA?ZYctP zR{|OIA~82@QwQb|Iex6|hy&oGD$d!m&@%Muw0C#z?drA~-^&OyZ%(?P~W za~0$nc;%P=Z8kzaMVZ8?Vd3-Rb!8CBK3_Bvz;CmG`9LuL{QWGbf9^i7T{i={`5E)? z5LR#CxZCrhU-<8CrP}|v`}ocULuS4m|BRN}%f)HqdQFX_8K`wt1hfsHCQ4`-1#_ox z63O;L=k{!Fjyh}>e%{@~ofITx_csH>b=N8p7rHc#BCuEy+qew$xb7cQ7<%@}!3@7x zU7xORtTBoER}$wr2Bpu+Po}SJ0y+7dK^P=!f_`4i&^ywcTFWMSp`#G;alFYurUibD z?nE(eQcLOi`a;i7Pcj~Me?0C?cS-dHXHbf9ISot}NgsE&_*Z&;2*1sd_a)`LU_V#_U;{Nw@6tU#;0Z<@ySlL@b{l6Cgmxf}` zUpy{cKOW-+4GptTn6F|8Y^Aqug~;1TN^xFPOg zKYt6SOO^wAy?RXMc@RFNlbAsg`9)y9o0$wB*g6 zlLc>3Y)pVi;CLZ-?eWj0(*W}2Uuy?9lgyAx7@xy=j%OOrR-oJu5Wqps88R`u3zbZ3 zIj-}y<1OZ%X`q<3{mYjx63@YP6xnsIV?7p=eN91{ziV#@zu)!9%o|!i-}A!CgSjoG z>i!b#=6bTKGP6Ef7Gtl?RxoJud>{eqZ*pLs*^S)WXi=EY8737%pK zy2Y`|{l!21I{2st#6+>Fa~r+!-G+5GOB$)pmoL%q8#(E`SL>-hTwQ}Sx3pc(!8aEVW zdDH1Ojkc}^9p0a7{q zrYv&qXP$AuIVMzwb+l)!8f1sWe}5CpkPMAOzHQyWOn@tZG!+^EF#V|g^1qISNO5+y zhuQ}7eY|ujF%byVeQlCAOC|R6mwI4sI^I#Md}}gg(YMk4>V5JI*tz+$TQN*yV2Cl% z`}d3;sZucJXaW!Lr7PB^x^Qu?V)FrnUJl?lAGgf>w=|er08K|iL;Rna#z?`Mtr>L- zo({0V)~({zCwgKWJvOs_$Uu#pmlmzW-E9s#Tg*axTkcOd%Uv!;r1ZXZFJU1H$W;Sy z`97R%QNcV4dB4-ExJ9o67+Klr$$HOaJiplw}9`@N6Ad{9EV0N)G%h>}3BVM(*8^?k|lgD5+rd#=&Lt~J-) z3dfdCafREv%rzTt0g?2r3&rVEN;c7h{6W@hJY)PGeKdJ4zJC6?gZeW)K0Jz$c-k$9 z=*{>K{^0jzPB*h!u<*EApGg5SYrV-py|hIZ;Hhutt+#!99`q1eHG0LCld=ju0@80; zG6w#b_`z(2jqw$4M4y#&>fzcJnlpMs`IO)S$M+D|G{0j*i=;O2LlJ($?@%vgxdu>!aMV?ej0E*&eKG>pSyEuj<&FQpL#2Vm@j zcM1Ctae?k}@O73u9Oh_tBjP#a(|?ObY>(8Kbc$H8TuLAv?{pJ zFWc$d?iKu)D96IrH^Qr8fce)E5YjY{tM>|vvqEr$Ny2Rs!?~Tt&7TecAU=daHUKUD z``A>trI!kUqFXv|qWJ~<{zIYEPP3&dpZ_Kk?L94smes(Idj0YH)P96$Ug`{1 zY53iyMJBz_F9}`@h9v#5l{E!5uSgj>lmT z&qb&&mH{gLmNU<45hFTk-umC6mesIM<;{7}_n3Y!DQnFxZ@nGBWlm6G0J@a$tmGDL zrbg%-(hX&g`G;3mF~JUWmBu%V!e(JHYgtUu>tu%PNpKZcisPM<(CcG^ci!12d)Ic| zfMt*TEma+m*sy)wc@4jOexmc`g}(d#TlxO^>6y+yeWv&C-+SLmSoC@P_m6jCrRR7u z6z`tnUj-Cd<}zDuuXH68P#>qWJB@f&eCkSs4nVl4U)7Ni7I%{Ekdoet*L8%P>JFat z_Yvsw_<0`yObj=+N2#G@q?enZ=eIm=@v&Rr^_F~wk}H<+woOnavOQtFofC!fvxa-W z@;Wl-HRK2m7&G#I%}P_9>e{6TP7k10-~TX{R|a|O+BJVLYv_NQ1NT8N^wGyXF@&rs zKwIhE7bfI;)$#m^U@bLD$O~88kw)U8_gJR=?uTh^65AeOZA8dcP!qctbuQ?|ATuhS^P$E-e z*y??UJ`or?{T#c`!hGCQX`SoqcbTW|);!G5;uzh#a;KoL=pd0v&%#2F&BZm_57ow>Yq!GvDfi!Z|!-c+SAnUjcISacke< zem_UQDD3Y0#oM$M?~#o|LuGU{cy7MGC()!mFYlE00LJOps}8Gjhr=)c^!9Oaf6e>5 zd;0Om9|gQ|ZAV^jeJ>stXK(JHf4ACx`tn8Y$?N^@-Gcx=2K~7zT)A5Jg3N z1swT4asSY6b3EbkJ+oHVhZwUN+}#F(ZuSUQY3tshL&~2l3h-WbP%j&E)dt{f1<+PW zMJ#dL4WwA(X2j>*it~K!7&PNH3cEqLTYQi0+UIRtGfQO+jMBbHL0yYhG1 zcNi|N;Xd@rJ0xc6cTTiBZ_9ig+D^&!H1g0H@aJ!R8zH!UUxUYY_X-HM)!Q{`Jm1wB zID@;)yU^G0Ez7pgk1&i%H(LRM@A17vD2L+pR-9Bz?W24ilC^5!PbJz_$)EO_S{gV4c!FwqWC#&~nE-vedx>|#Dl%3G$Q@X!; zPqzJ7*hG^PLI;|+e zJiA?Kf=2-3t&fF<%M><~Yq81IY>_N@*Tv)WW*{u@nrcCU_v8ZTG`TfhxlKG6Yxg%j zGRP^DmfC-Y5NFx*+UKArSr?0ojS@Yn+rorB=KCV_YpBrg5D@wBR-I51m%eEtL%K&^mzi{k;TAz5SmZez*aH8T4?yvxbeCs2_D5K!aPpoAO zx+Y^{&}NjN%}kmQw2t9uvUF|77-6%*fs{tOE+;2`9C&Fy24>O1#I0%gi)%*AG+uU> z3#&2OjR0c(j!gO%1D%OUO+qiniyeUE@J9xT zN6?t(V*Ysx;KX&uIUN9Vk8$*gv2|-$&sH3kJ(#&&~7=tE#<{O=dttqa^~~tbi@6X=ijXF5!_IG z5TL;VEw#i7*xQE??>hQo=hP&qu@7Nk>(&t^(+tP=RF=gxfEC&Nd(BL=zIpZNhp&S- z9TmfJOL)nTs_~ezt~IqWN;DmJvgat+)xERESa>}cjo+Wl0IpUyq3$KRX#gOtGM_sg z-C5F{xg@{et*lR9ztVNLyz%wr{$#>b*H>Jt507TGGY`zZ_c>{bW#xwt?F*BzSHq4u<3V5oqEkT-vXlGd|=9 zpdmYXOxfay`@mSxYS6EgXd1v4D{Tyno2+A@98zRhV{6_%kPmnpg_Kb)N!G~R+%(EN zcX3M+0-oAjUSf@+YA6>QAMsH6m;e6%y8rmk{=?nm{79#JE*Ek2%@3e9o5V|E zLXLc?SfF?_E&3W+rX|`{EykR)6$=wVHWbq)}M-ytOP!sZ2aH6kYo+W-pYfo_z-A8)3TZLcTF_7ax`6Sc?y{}8eG(bzPBO`q6H~^q@ zekT0+9&w!sai0Sn7tw8j{Mymq6ae!x>A>J`14ui!<^bGs^SOB)Z{7En_IJx#2wFn> zFff!1NY#Q+OtWiA{jf0+-2U2YQnf#;kJjVa+Oc98EF}1cz0xcT7yCx&-Q0NsBI`0} z`2f1;_ZUeTl~7d8%L|pU*k<;;ip46wa~bCxijw@kHCG-6R253fS88JlkOvTy=R4j9b9&?l z^S=09j$8W*?+4*u=9tBvK}EV3z0L>nb8ejzQ_+XofmtpQ#=wgB?i!apvqmD0-1n+< z!ftgw+8mon$}66pp521SG{{L8zxT^u?sBY1{2V$ch%()a$7|0#o!6MpSBr1GxrdO{ zrwL#o7i!{9`FwxxZZnhDUCcje?Wqqg$s->x&QrWoiPcpU`Kg)#b-Ne3KMb3>TM4mk zJKX;@+QU2MT71~wt}u3U_x91~@tT!9;|sqhX+l~UCSuI?`XNK8Os}Q;Ei0ic7nruh zLPz1*LxP-_G0F7_jUO|A18-TSnDS9JN?SUM|Chq{o6!Kuz8PTV@-iz1Cov<1O@=v! zNKxjsTK_{!*9K}_)^$MkdMpOm7BBqA8i=@)O7R$#0}&;r1frSEn@2ZW66)o3aB+)~ z`DcX&)ST~qx{DxqPGI1Pd@$h0=Y0F!cW!ZDIKVEp^V3&hvmB6H5Ep2YNWs8Htpz9* z##fHx{JHnYf9F8**X{vE+g;O6KQoY&x||-ARV-^ znaR0^_J-gBc&aqUPYk3aiix^a9b_hLt0UWbDNe5~fjDv|UWb5V>@Q}7h|@w1Eif$t z^I*Zit}GK&}^1uqqL-ePUeCYFR#+BS&pT)D74ID7zF#N#PePGw13*Iz+QUgR;h(;0EF{y%X^FLC*YL~JMd@Qxi<`EpQXzUL$v#y8 zpYHJ^-{SrK@OUSsj*1l|FUvYjxmlHKSOBFB*QXMB%5S~N@+1FN@P$5LyjgBYBhmw8QK7#Sw{Q) zUODD?QtZji3YJT+^ESp<%33d4vys;~<7`ODLIJo{(JSiF42Q*jZKL>Wreg*A&(9a3 zQ~7$w4YKAm88M7^YQcHh>FdP-vad}i@f57$Yu^XYNR^2NOhVJ#@uF2g+_KgI4eNI# z=5O@OY}T}v>F9jcID?n-=8R7#Vq9U=o8T+EtxeN5o()SGgy=NMJ&)* zH6}yn1a2#fvT<-lPV57Kg)lY3Bjbm{Kui$0e|&#$u3L8AU9c)p_G_2#Ud~UdA=nVK?i&9Ok?Bqf`9D5((dtMudIb3LlZytevlj^SO{ypkMCk9> z`>;8+ac@kyBLD8|0t>5H1tyKsw!;Vv=L5nZX+gQwmX|IlS%@11mHBV36~V1hQ9a)8 zuUBkV!sV^vlVEt&Xqwl_(gAG#ith)BsoL+w!O%>1cl#vY->I8Ku1KIpK#q-92DFXL zCo}qiA!B{3DsbRF8!P@>XxwHlv{Gsby9b&I6Tc_y%-P${W|HBfohHi?5e;ubEhDt zwdjIMW-?nirL~;DpWTd2q`lZH7F#fO!&L_zB3w8WVjmfU&+Rkr1CYeeS$%D)6^C97 zAjo4j697EUUOd*)o=9%JtrSIho6_UeTtyNfZI%SHdpR)aX&>QRSRaH()TnhvOP1^A zp0Pcm9ql&bEiqNyf9kv)a2%$N-)*f<8$xf_v3dEx7GA-VZym65c>68^LsjBXnFbhy zl>u~OZB3XHmn2g70aqTZyN{0_=`a5B*SoO%Dr@<0cXColQn=631iTv zwN6qO0(@9b4j8t6O)jVXdy7BebFVhoa$;A+K6&e%HkFUUbUs|ysF=8UkQH= z>aB)~cLaFYH_zpH6G8g2kNtjk38UPDR9HT#d(*9ZtG0Q9nOMBvb+MkI8c&3>3=Ake zyN8KTG^q!lldS3X&7}2yJbwI08N|Ti3`PL0o{uYQXgt7|JGz%NeSJes+wbm!7whM` z_;?C{9?G&LKEUH&cK3L_f4{H7exI+u_JX)dV$F%MxOCK|=q2Ke#FBcsj@pk9{iqSm z!r#xOQA2dCuZ+Yz2n+wt09!gWTZ%l>s3;I=w#L#o5TMESIs>iMKFi~Qr6!xE<-TGj zKg;jmeDl#ifBN#W)7VAojWPZF;`e@!zW>E9jEQhrk;PlHycG5*xJ682szBIck4Ot5 z2~;%eZLMB(S`X)xYJ_YU3l-_zo)zX9leHI zKM)vUr>l@_+K#el91!!wmSgRd!w8RnVz#x-tX{zX{bnWyKmD1c~Yh097JkLuH>&(_1$lo=24QDE`)%NG&MPh4{5+Yj{c&3gkt zIc$aK7yEb4|LlGF&u5Xg`?L2k)ORZpjaHQop1A*e;XnWuj%d3yy*Tc#@^7~au1xO> zefrI(eVxuWpT!eD5MTXu=TSfX_!E8n@WHZy6o9e&ZUK-0offz-HHeZ6)NYczwYW!t z*X%6q(0EOCA6&Tm1?tyzrI%`;t6CkxzVGe(X3AWx7EfL2H$Q$B{>j&{(MOCs(!Q|+ z{#eVfDm{Ps?kDTS!+$VHK40`a&MIb$=>2+cmaS*{`eNQMS)_{1({=MYrOm;yb^`jqNh5dWY24+&7#$PZOt}l zvrW24Wq%G-<;6Vh&wAbg-M8O;q`oS1)#kga2F04CqTH>f?I8Xs+QSGeMOKi=qEr~O z6i586^-&w0ut@_EI7q=}2V;SiaCgrZ-2nFw;?&dFC!0&OYX|mOi`9iv^kS$V=cITE z286O1ugsoz!C0jruLvA<9>&@52x=}u z2pq8uCGAG;xumSrTKxSpEeIprG@u!M@ggq6G_+!t5Lv()AgP**vqTTStQ~>z^ZV9h zVi!P=-uc^KK6?BcA%VaYfo|)%6u4?`G?R{(wzwFSQ209la<)&U!v#eVS(!Uj*tazk zA#Gqp;%~OFq*b0HD|4X2$6S_+QgJVMR*~)%?p7|2B?`}g0d<>;zzEIb3Alv;jiX9lh4x^H5ka`!A5j}l9773;S1^~Bql z_fn#}>!>b_<4f|Qbn-+p`B^j!;q#B5Xl=V9QM8QFhmRkm2Xq)48vVC_{wum)KG3^& z@9F(cOO5O234IrlF&yv7AclFH8aXV9#$+$QWC=3Tf1AjYc}lBlEw=aC zA*6MR;C;I)PU%YTG6&sa`&cY(i9-~)t<5uef;{0X7qPItJU^R-H^=dl)UuQqU6wW6 z6)0JduUllJkX(oGNgX=eRUBadaR0@aHsU}3(f^+lNAQVal@yOpZ< zyrdp=SS09|mxoU`0lijTY!nR0Db%vSMl2o&XA}}80oe3f#dOW+lp7q2mfx7+Z99N_ z+O_3(5_iCMNse6*OQ9t3Y!ZknL@L7LI&38{ZJCd%896TKODZ~86qy4UWcC7d4#u+@ zSU{E&v{9aHCAQ70(1SIAIf<4J>xVHbxQDNOa{&}=02*9oXe5@8a$#%4zQK7-P6lA0 zVRyt)l;K560<2;MEV^E6Z*CC{7>sFT|5?a-CY$5G^=TE z07Q^!iO0&+rpXq5u7eAg={E9};M>02sRD$P#KaeiE&8DQg^Z$8K#et7>7 zeBsXe=1Sb#!YE2K^}1-$P&B(96P)zjH|eVxr59p-g36iCNPt37YacZ&f;_s3RG=x% zaXFDDrCHb#$kxKkhGy4se+JBVcbde(yZMLjzoXy$>R0sP{kxsH?}BQdqxUZ)Bc5K^F4l`=FvkHdIHQ47menv)x!*%UnM@)X}Ud{k4?HKw;XSO;&&5M*pF zuXLhh!Dp$pM--@H2<5jqiggnz5f?Qa_NR1^nSfqTAXfGPZb>K=wRu7wXC$IrN9h>5 zy1hjxn@gN!;j(tWkH5W0QjVcBzAlBaQN4lZ>&{MAHzbu*I%l4W9twsCaCX@NAgZv~ zdE9Ots~RqIX7Ab4i}I1Kbjr{8<@X=y>;38;rt7{R9#=DnR1IGezO|_PQj|UZ%-*M2 zqK(M={o3mbXWXCVH8y~kiamp2;#T=0*5qnoYj^BPIIVskwz^e`q0~+? z?5eNJy?7!-`6e}5uw`HDAB%aHcEx!8vYVcN^H={$E_`_WAdCuiPBbMbZG@^;GQJUK zbb7H|B9B{>m@v-H*_k+N4)FDoft-sV&an&#O zK(NTz7H+%w`h_(TXgkBS8d9$sB~+G(^#Ow>!HZL3g@HC9W^sA0)JlvPwXO=TF_Zgs zGfmK+zB5;fVvw27sbK8x0>KT{ozUgIdeOL-l7ev+2wnq_cLg(q_?Io*UTIs!7*eLF zeIb@lcGa=qRR(WPPBY0@X`9u6BC>pUP_d<%$2`h8*)`Idky%(e@OkbL2!;!72cX3> zh?eRblMKAFwT)c_4&stj75&d>fImldcXxlY#c2Qcd^u}okoe2EE$GLE zRr@&9hD<^ex2an; zcG_k7ow0AChaosE%dAGQ;Koj0tt7q-<+Dj8}3Z}&GalhOX zXtAvv0<#VvO-UtaRd7o00ryQ%W+YSEj7UmkI+uWa)%ZT1F+F!H?I)WIhO(HtAV;^ZhSMCbd4!vKBZIDeXg1J-`(pzx$cU}r_Y~7Vfbhv zBKl7aGh(G@cPOtJg9uV%#YtqJzSkl}%m7N>>zG*OjQNVSY*mmg>uEq$!lb&! z8uH%drUE>i?W%Fw&$~NWz*;r6+OB)v-RMuBUv|qZhhjVk6KeaMtz7MT{k>mE_43os zU{}dDQD)9nu+@C4t_}&nwcpRBxS*ARq|Oa&p5!3Sm+fUpTgE2neQHvNf*wUNC|>)hQb8N#J#TGOR$=C zC)bix$MlWl&Bi)Y*b5q8-teVrN7P$wh2;Kyo$fi;lHB^OX1@6BIcR9^(*` zeb<;B5wc9k77&j3BLI0aVUyS3dVQf>h#2oAF=~{UJl3O+#i)a^#l4*l@cbTGu$-0H zZ9e5EbqmN}hBc-#3q~4UKt_`Yguf-&^0}`ahilT`ZL&Io0i&D4TiI&4K|0#JVXNdb z0lHzq9a8IyS*Nx(?l-?%en(h#k~ODM%w;vGl4^%y#`A%z_BYGT`lT8#a?PcjH)tQDo`qO%=Fxq$9?{33c&w=`JCmED{^o%u0OHYX0`W1t7$<2%l$pt+AyM0b~%Fa0o>}WGz4sV$Bkt z%4fbhM)u=QmeP}ObJFO8fd8xBc-Vi zXpw}Z-XnHaKd+v|*ZMIA7W>SL+1oQUW)^W(8fd>Yvo=|BPH~rJR$7%V#jVFQa5>w) z&?Gt~|2`CaKi$Dqr;gljKYpjK;g^fZvUSlpd*)1RbIn%)SjyMcP*(^$YgsLW-bla` zW^8?XynNcb0k(QlcBsdk;6R*u0J!d-3%_0rRc%2mE%B``IBl07b#a9xNldQ;%b(ws z2&2&vF22U#d+SovQVBV1a>O(B`^b}VFDXlO|0v(T?20DO^s677fssz^ zRa~U2XtFXC)m%F_%07_?L>D0KBt%P;#L!wiUxnE%OOz)7a~qg(*FaPOjy0@Kj8e~+ zv)A0>&80!|@+;6{;mD*5(a>O^QNOY{0=%hWSk6^_n)P6TNk~+qJ5DK!m>CFIUsg@1GCv>)E4Q zL!SUlURP-5&@6q~Cv9M5BWDucQC z0P}2Zq@jUPGIO<-MQlxla)3E4E!IaH(A&P0i-%eRgixR!XlhU3?MA^N2 zoRdw~f#a6=U?7M21YcBMx6wNb5$O_7vx7u}r9&+d5I#B|qjHgt>rg2^6df7o5oWQap%Wl$ezG&<$MYJ&EgO4rqFf0$w=I`TX2%di^#i5F-tacfh(t zd>jJPQOir#tc+!Ce0)SE@Yy}Q^Wy$OS!e?cK-nd@9ye0JZoJpu#bQ=D6P2I;^yRDU z6O{2{+GW0u7Gs}2eUf`>X_KqSS&ft2=WGWT4;G9Mn&ser3A86ImJAS;X9zrcGYc0$ zbFokpxaV=6bdKN6J1r9x1yAhRWFC4_j3(&)yi^210k}XrLPoZf{0Bx$J z8}llvjlo*O%;x_7L4HSCzGgdhpY-l%e4*TjFf&k&l@hm!WPcP1E-VJ9#ARaUN@VDv zm}^fATf}b<{4Vn@gsMz!h@LT!QSTF)Tg1@ezD%?y zulp4==}7~nxZBL*7n8;a;yUf?b21>-jL|DF8M97#{H!^!88;VU?yhxNa>I5RYM=3O zF<~Xd%bhElg3xZU9hd`VGI(b`5aij398BW7ER>PHj%RAWL}gHjdy_Fw8%v%+p%pIH zh6e3&w58VA5~$e5MdS78MR*Y)Ala0rL`WKV(Ux2I{LqG}Mv?@(u)^O&>WXh^Um4dA zt3e@GQf~m6TSxC>Y*2olfDr@wq9~-f&I&V5?ma0SW)*iJOaMyc`v8H*ZW%EKKRg4| zQmc za!WiHF)T4}zES*FSl_BCpkXBd;E!e1IgR8HwK8bU%}_YWE#VNDLeDIG0UV3Qr9y$! z(gb6mb%0!oay9lEYC%*>6KByP`&tC@bZ$0Z)indMbdG-p8Y|BG%s~`ab;oh%7pfnv7YZl{(30M{0S z+(JvRi^(mGf370WT#?8GLYC-fE`RlMko0?HKEhtHE?L!4c$R67!;QL?r&z@$|03l) zh(_f~_S=0}tdR(im3CMOTaR{+gLlg21u{(NlleO8ob{yW?ThjRYjYW`?z7T{SVryc z5rCOJqxZW^xqtsapMU&Gp6wvek{7`?us=8^l*|9LEGuYpMYbf6DYZE*QyvOZvHk7a z9ykD&YB6{e`uyo9+ehXyr*$aJgnwR3*T&8A_beeJYAI(I`L-LYo_27@u5kv3pb!4X z2Dfj&{YdZLf28gCvsmX@MvLY5H-G%^^{0RN$4Wyx1G}D|Lqn!IXr>&9C&JDO_ZerG z7hLuSv+xdWBQ0bi^1-Bv$+gMBro;1KF2(`DEUEqb!EOnO8xZrep>SiMr_+6^a}(PB zV4b50F}LOxudMaw^PKP?drP5gO;KP(G`IIqCZRvUu)XR%B_WErE@dbvI=h>~4N1eh zV4NtfC~G1Xr6Vu~;FI{8MdJ%L%Vt!YC=Y(Q>Z3p1Ius z%#iUrY4~|93yox6SHzSU!0+UsPK2GgSyXckCzPH#S^)ZFb-?V*G?I^uKMd{I_4!Hm zUN!HJ;mI~!vk-61%X*0WDLq0!RB9V1aXGf9Go2sk*oFZRDT-gsZtL;=^B&Fb1Ny*c z@@pHdXvvj!Rh}=!t;sCV(RvK$AejQ=gL`;2 ztE&m+gF+(!s9QFtTIAruj{T==KPv&VARhLsS*Ek%>2t%t z#w<}jrxc(x$FE|a!1_4wO#Q|GRz9Zlfc0~}I1>+{Zej4*Y`~bqLLB(my-J!}G<#xBGap{R{b%Jt*bMQzKNn%n0%wNgO;i&X)@TaF5L`B8GWaA04a)mdZd3(6MkzV zr7e%uPQk=6IAIXS_tOgS-I**HABf==lUJ+D)d@(ntyL{Sd7Co`xw{L?p(jKbh}rts zh6K--->t(%YsZSzC~Yt^LF(OGGC`0)TgnW{8QqQf@|ttl^c?WdrrT^Wk=5^>1 z0DibuVmd6ib}`G<(Tb)qI@owx85wM28CPK;9Su{ z%{4D^1S05403oi^VZky_7<>DdVffN1Zz4puR1 zn}%NiR@=ndzAa+$={=N^?9MTRGg+WzI*fwO5yK>+ z&^C$eLAD?@Z9gOyUY0P#C`xc#dAl3F#s~{J;aQ; zqLFwm6y3Uvy+JXalXZIF`O17c%fpxuk_>KSBQjy9i<9@-f1JZarzqIjqt3;p!t zk8&O-R59r0M28>u&+hI|Vuie#^%aVWS_CJT@LAGlUsP!GpnCKvgj6XTm7d12G0caY7g2i#R zR)ERiMal$*@q8e7v`AB77#17Z&}(dfJ1#bA1e1wct^-qnKue&9B-6<(OjgHdGa=8w zYw_3;i}~^Q-qh^vrd`R#H~Qu2ySdT(2}=HAs9VPomLzUZl-Z9`7x1 z2@T#YkUBuOT42~HVygGCs_n}<@C8+}%cvMkN8YoC*ufqpA97+wnp7Q2t?p*U`ea^~ zpOuy3`T4#E7KV{6INE;cYM))*dXYh7++P8ihD97bBey`LDjfPekNfJ~-Lp zc{>z+#6R<#bKSB#YcDx;-$@{pY;VqMc4(>Pb3NRKvbAfL+W^!`|Hl|ezYl5QYyd9o zlMNO+%cO;D;4mBXX&3%zVAc&C{``fa$8;E<9v;?VEZ}=ElFaXsc}*ls#N1>MInM)( zMG{7|%y{zHte4Pzz7!SV-?;Vb-<@3yy&O&N; zPhOuzLoFQ|UlFl|4WRW|R%fiNIU=rwHy>w`GRRqs8Jw+bL$-=J0I&nvDy&cV2^9YB z{X6-`i}LvHK`ax7v%-DHbyX^tGdRh(&+BEs_G**crBw*hpyx@?*<`M50qs`>4p*~W z@pvxwE<#wT7oEmVSR6=8@qSgylo0M~|L_bv*FT$ppa@0O>H)CnDZXlA*zO8aO7mWF zV(~DSID}_4;VR(BtP9d&MKbq#Fpjpl2B8c~H_GXx+Pyw=^Ex{mo5VDA>WdLOueX-& z05f*Mrn_nkTumEA=@YBMj?PvkzW9yDG4at3S~uNY)p`gYeF*ftcI3N z4qFm%j?-j0x_=Z9ptczea}C~>tyhTcLGM*QplEoERk66mixzFYSZlc zd$GWGNo=a46$J`gGwU|iJX<}b4weHmG9@tH5q#>JtYHw0ooE1}l-C6BVs!fQa`vP% z4bFbicvIu)EQGll{>d`?Bwox)Qy_CcTZ!CdhKaWzd6Z`gB_3r*#5CYLfbVg(U~=h{ zUXf)k>Bo$FptL|#+B>>}ME=c1Q*@Dxp(gIn< z24qu;@{~X>3u`uDU|ya+eHN=NyW_Puzw#UDYkqgKxI-*eIe=f`+s(T7BwnB6*5vO} zyv<$)tMidNoS+;LdrQ!Fw%cc`#m9%@s{PEX^BncQJ(znO>(r#=*}d>%;SHvcbkLyj zH)K64&2K8B4a7UotSRf+XkXj=f!7+%iCZ)FwYq&ro*qgBdAzC4t$HT8M9{Tv;#+#y z*Kgjta2d05$l&hF%U5~c!^52^pMghy^XtDRt}vptPOk#^2=C5s^QZs8ztg|`*Z)*N zo79hSw^(zZ_2?d~awD#c4!4K|UH0(TdjKX}7JUqEME}!_c*V8Gz{NJFymTFzC(+Tr z?N+WnY7o#UVUhA$anP*ToWETyVDaP&uZ*P&!JH%rQUmjO0>N~$ixs{4z-;lp_#0j( z-$+EmhA_Gw1UIY^;F%flYM{TmWC~(*Y$M_wg^?`L99aYQuO8pV_m#qtmPpVj0$GKr zpH|Bn9vPavSFKK5gEneF%ik;E5)lRi59ovjck;2vP3equV~8$vUSS}UA{*!Rev?l0 zb{emBy@d5~rO?n642)Szd95@kyg7*INrMmJ*vG*cLxL6$!3n_$c z=JWGCZ)uw@q!Ak{Nra=z?ivdK}xk=O2UgNVcbFrf@QYsibZ#8 zz8_bPVKo}nqS7x~4nUPN*74kG3Yqp)jQLrdAB9^h<_eu;N~|rB zcQ#SsWJ=PyTFI8tbuRx8HYJrispt`i*&YQz9Ws+`0(z2vkbzLbnkh2`p&yJrgmY_dHImHf%~#WF zit1WWlBs1-R7Bye)#DjOj!7-mA|U^|TW4N&fXY@H^=N1dOaZoq4oX`F{Igs7unsnN z8Bn_dkdk+T_`@jhmutnrAwF*gO0P;PUeT{ zeE;s{%geLO74s;rPshM-{q*UH{^~D(C6=%I z{h{yQ-3<$IjKwnMC>f+z`f~naOvQSau3`FwC8taRrIaxPCdW9qxl#zDyNUF*Lm5R2 z;9y#T#?}G2s6_=#7n38;=8dx|GrW7SQVqr+$$%RFTrGACrrey_0!FP+b9AxJn|+91 zp%DJrf&ij{U;-iJm^qH*F3BPQ2IzkJl41b(pSjQ++(95#?c@+btBYXgQYDhH$IwJwSFMtUiS`ROVd&C;aj;J$X2%X9g>cJEp; zk6E8VLpPXVY`n&#yp0PZKYf078scE^j~_pXyb+7v{&(MWF8})1KME~=|NVEqcjp5c z=B;h6Q38;sq3IhXAP(NE7RTy5M!IE;mq)hm8f})eaJab$_c1)IG4DBM+0;5BJaYpyNKOU3nQzkYd={Ylal z<<4tGa@_64T@WhMm|_nBlRau;iZm9bIeEEC_xH{Hp?Sw^0+LCFf;w`Uj~^}e>RmzX zu*^7dSCj50U-s@tw~aFeod98V`6 zkwxcwl@_o~Pgt+|6!>=e0Fsub;rm0m?vch)COg~qKxgZ{>MDVn1=xx(j zD`=yA3~J4qH1)8$$tFoH!(g$)cT&_b0TdTdB`guE^=iX)*<}q^?ZvX-;Qq>1K{?Ne z^JF#V_>nItK$y_mQ;Oa4|fAJdkdalsL*Wv%5=m)i{lKg zCTwwd;>lri>DpaEVUV`U3{tN z6)cPWlPze>%U~fx>`@NGP=#)cxysp+-QsIA56B9X0xt?)VsnDlKzOGZYn!J;NVYbRiZ|%;{92dH$cg!DZ*wEd95(e>HR@ilaphAE)5#ZQE{+`>`_5Rh@$t|Zgi%iFQ~YfA1i(L z-480Cc6w(koq9xgOes`?pZaHi^zZhc{@EX?neN>O`u*Sk1^xP0zoPRF+#pn{ZDfvt zL5Y!ELgR6tc+TK-Q05XWHcn=G`N$e@26xDM0@KcnRy5#CllUDbZWcCpUS@c3brv&t zcshTf#C*#^01}NtH*5K@#N~y}?*v4h33C{eT-%cAmrTR3n2?nIkNd)sm~g`VU{ZwXmONKQgFC}GUruDnUhYVLy?l1%ZEL>r0 z2Ocnz!WcH=v^XeztZnsRFLl;%5m)0D}~zd^oP_W;Ba87Y z?v}xp>8y}<1A06sj}MPBFp)2{T5P#l^DI_e*PZXvqznlL)hBf;i-z*6|L4EgFMsw= zWn(pt7TPc7IyDz_t!3iFUKf-84xr#x(MHT!Ln{aQB8Vt_}S9-4&b$f{bwxHHnwEmh>e$cqnY7UcFZV1(8Oq$QRS{V;%eKi3~ zDLja_R5YeQ3vm>62aYwo#z55>bPnLi=DnH;0z_GB6v7n%Zm|{+bc@B=9YA#NuF2#z z!01}<1CYyG0Ir`=_;su3T?Sx0AFm6|7=xVGq9jWQ=&(*QP#r9MMQd8MGJ*zK^TgEo zP-}{9l-7M*c)l_!EeoM9J~Q|3LFzK!lmK5H0kC~x!dbynGjQX8C7)W&f(4psXHo zG~gNdy;*EZNftB75^Gt5RriZpmW+uOau*mSMKs@gwjdQh$7WoT^^5bZ+`&cYTH@Fi zDJ`&FG!r<}d!D=ed4bh)L3yC+yi$tg*3nwm-I4*3WMj7Tm_IFR>dQ(;?g$_!ndKH& z25ZeQ4@Mi{6`3Y_Ee9Ye@7b-#x#pQbf=st?7`WnPy|+f$-Ji#t z$IdQFc2Y-Nb&KB6bSw^>_n5j%FGCoEh66Rqv4fafoOiu;0a91HmP$!6sKr^C{;UK( zM=qllO_VfH$6xaOWdAIhB*b(;loHFV2>=7VZ@>E}JVb$jn#VSaWtbzjPFBhv| z!SdRY62YsA|I=}={4$@oQZg?JH(2JrUb{PTv!G!FF}+}E4TOEiY93`~m0!3!t8asZaztdC-e$t6o;?wb`E*0L3P1%z91!gQ_7 z7!kCe?4G~|f<*$1g*V!Z^+}Uj1=w6kqm?S*bp&l09Cc%sI+yzST>C5^I**&j0?61A zoZ8hIaFzjsOJmRPIyHt3B>ELkUU>wyT2 zErBR|r)3FCfCzLO+gK2n23P0|^78(Xf0jgIW=pZifgz)$i&)orJ-5^u!Gt7)*qVxl z=Y8949cjT>b*@Cnp7wR@i_c#-qL<>;iOZwtu55=kTT!~7n+0<;R@ZZ$U!HHyi}TFW zNtBFhIeYD|TsIO{2j(#dWdPq~delxc!CP8##e%PdVwS)rS>=Hxw=0Sx+s1STi_;1A z`+bjW)=V=X2=Hi{=`0B|0dW9a*UbeX#*DHdg(z8KayW*SxMF~Fy;3`XYw&gcJb>~o z1rd7y^MvoCj8SnV9YzR;G~kmo?rC*%+S(Tl=|BhxDTj*0FM9@>wHHDhpME{W>Ge^` zVwu7r0N4XeOTXGZX0&r;h_f;n5TCPs&&}QMv zie|?9!*^4uxLTW*aG(;!8p#MDXRpB`0oN;|(A*vg0q?5?o_7L;7i+b_gtJ=D%T8$B z!j`VV5#+#~X;s&~V zyqEdgyw+BF9~0nwKOS4D)q*#Zbt_RC7Eh8QN^<{_0x6C8TZ~B>V5D%Jg3z)t*;%V? zBpFAd39ad;jArrnJH@q2H-p!8V2EV^?K@-Px#8;7Hvm1DLe{QJF%9Xu<()POiWa~H z7ulGq!92EvO0B~lv47brA)83DP5I=8x3d8IDuUj)vuzG7l3h!H0%7)*)5!1Ksx*V6 zZE0S9L^8AYkMEZUKerF>)rWVEI~6bbSfF}=aN}aVS1PNMg*YG0l?aW0gC!Ogx@B1h zhK_Xxok{Ssxl+QC6+z?CV4WiCB-d{0OMnIlj}&{@QpXnV$ie&LvA%QQ8Zn+>87AAO zeh;y+;`ThKEP62#2NxbL)4Y z1a|ZDN#Y%q_E3Hb;9-+EYEde;>k!|`!2fh&*WD-ij;&hHPwGZ}e0QQ>{_?vW%tiaT zP=JdRXSR_ngQDkJrp_-#+q z#@8HO>LpcNg^EA&0~DHJK1ChasT{Z{}c5&69>^pK)IWi3t5Sg+&?UW%~gZfi9>0EbLy>z8aUW!9g|KZmOoxd z5Bjr7Mhz>DfnpafpZ#*yzGUo>e*gZRyeJYgKL52g75?tK?_`n5=wDNwqawdNbw*&CL#;K&It!m38B`oQmjU6y z1$58`kFkMpX-I(e8dbv=Pn|CUIPx`#D_VI4we+|!!F#9Yf@`~#w^nPqTznmR4}g^| z4dN;^mmta~z)Aty6HuAn9~q&8C8m@CK&bW{g*N@&M5v6GmDj8s3Vx#SWutJRz@>!H zhY-{jFkX^{u63J(u!7C;o|qrLcaFs~N*UIAq?dXCy_hS^y((;hM!b$(hjpzbP?z>a zCv~vcx$Hij6%&9+SPnCdpiLVmNOWV~$J24@z9(qJkRq zpR*5~ZparfNfDy^o*ObOA)s~8{9r}t%__Ms z8gQN#5)55l%FK@Ze5vi#w#1k;kP$+bHwDL4oF23k1q)7G(=XwI;2JaalnG{`o`47f z*vSbsm{4`Af=)54h(bJx9wW%sEPbZ!&S1ymB7DhWFEI51(2v+OS9jfzB$}D;S_XGot z1}$~ptr^O^=7r7RJPVj^LWYKQnZU+D@Q(L%%finbpqIQhi^rwnoye_~8T3GC;dwJ4 z%)&hjTLmByOr5O}c`oL6%724tFJ7LZ9YBXO?^0Y)jl!(C6~fD<*qr3~2fn|?@sxqbIlpSUN3#VV7W6qLO@9dD2a$YT}XtQ|7La%ZQH`d1xU-`EbB#fM|}76pK5N zTl{+ucR3QJ+>k*x=%W*5TXNn@LZnq_=}CQC7kr50s9?C-8t1P9wPg~h;FKY$(xp0Hevny90 z8N^g76U~Q}xfOZ?5QKuDU5F^cHm^~WT5xwfA+7$eRqHV zAn(L{ieuyMcENxDc)u$GVF(E2ryO2A&r#6@3ArOFn&f-0TgIu1v#hAAm*SSf81o(~ zIQje*c|v$U#|R%c_<{9Tjg*R8rvD1`F!?`2Kiz=v?5MgSG=M_Rp(pscSY{wVtM=MGA#sF*w?Z zg1_gqb#9g7b<)JAd?zshDuijspekGs=FW=P@_SIkP|1c%V;_VS%;42FWHQgfg@Mg2 zHHjKbxEcW2UH>8%vQBVipaL_K6X6#JRcTykk;W}OA})vqZ4Zmy(1OLD2|@;=z_rLs}zWHVaYqq!}Os1vqvtm;;E>T*(aoo=(0cbE} zeGw_xNO(un>YIIs^@ddeta9;8I0MfpLz31un8eX-6$v!S@@1|vO4kB>P@;29d+$Tv z6mh3^JlL|3?K;_~w$Np%G$F$fsuTbrt_A&Ll67(<0N$)sTaVZeRvvlZi@P%(LMT%} z6c!TnDh8;y1>~?7H9+|+pXcJKqGa0oxMF~NOd!@>gFOI;KgB+W#f8t?s?xx^3s&x; zBSpX=tOcx?rQFJhNOb^iS;k%tRvdWGmhO9X%duPb4i#B}Em?H1E`+@rf-e-ylHOD2 z{*JqEtQw=z+BSf-T$?K3SaZChb__HU>n~#c`$l6ezp0t7LjF5GA1Q%a_3jtmF8mJk3^%Jx{e=qu>bOOrXPOzP88J3 z^@+Id8%wiXSlbm-v$}zv9UR&`G{{NLwp>=D7Xwsf?9D0$04t9Jx2eby<3pmXpmrbT zY?66G*RsBg$hl=Tpt_kA&b&$PMM*`v^ZX7pVFaHQeTl<=XW>$2-OpYp4Jqqx(aUvW zbs&k}_VwYgFUB7tBT^YA9mj56_Hrhg$h&&|Kh~SiyJ+-@Ax7eJMKstrnZ>t zm&@7fpfah3>3|eXZ&wYrJ5|Jv1s&%J!)4v(i38z@$eAjBX97eSlVRgE)j;7Uz>6bG zkQa{`$;GlD<-0p&=*(QWjTF0C&k}>c*_et{*;*%=i3@o#OLaS%0ID^tU`9Y9rly)c zu(Z(xHZrinXWCN6n%bI>f-hShG4Z<`jPC$0Zy+`0*rw=`0jWhfyY{{$i%-miO2hsz z?Y~QpI){`#*V(szP1%Z~$y`C9cN)iBl0PnEW7=?Pwnj}vQ!@J>j=#!gbnxg}Q z_S+;t;P0gzAq!hr!dw6q-W*><`{5#@^xWx(qq9@(9+X*B7ma!`AZrDD->5N2F_IyPI*1X7K&$| zg>4D$+S51}(W0EEhc<6crMwG3hNc^>6wi%vtr z50*v`_xD5V$?Me$?(P)!!w)}*g@=2cp6)n%6j{#PLEw3pnL2k;1otiq1h=V+0gi<=&dtq0IGL!3V_h+#*($2aS5Q^8R#`yP5w-*iWL<47{d! zRUTcmBo)&+$DftzHD+N=UXWO5k%qJtP_ zN)an6AIN5B9K+yHYt<=`?WUw%F52~h>(WVgqM!b=|3iQI)Bi-#xhzH0(1C!;Y^Ise z*NKeJQB6EE=)7Qg;t>$)T481cG2;&S9DM^E$z+A*sff1vGi9^Y#8gXcZkhIyW5@I? zAD?YnSj4cf*^M_`V_>FR3bP}Bdk2|A#C4Q16c|M^NxO~(8fy)!OE%^AUWSevzS#{7 z^hBtpJhvSy1Qo!2W`fJb07zCA>@MJd6RG&c~>pb+K)=C3rgBBk7V~4-}iA>IQb_lqTF&S z_R$3L`6;P%5fn_1;hE{pCJ=SVz=z2A*Vb;ki3;5YN8mq@0w~{;``hx7*EWx>40JR; z@z%5SIvevopa1+{{F?skPk%$d_j~W@5C8BFq@LEb<(Q|DCNoc&X%~ESrgu~r2)Erd zuX6P~#|Jq$m*iQ? z7_*k~geNkP@s1t^-ZM?2;5M$|m`P0-Ah#M~Od30zFiS_xJS|spcfZEEQ8H9@8r`+& z$jXb9Z`ri=9UEt^QgnTD8N$Vr*&4;w26&ym`Q{^i;SN@0MX&cc{qp6jhn18c|I`0{ zfBF~yR4SSCa-XaiCrs+yGzy7jGYd`iH1;xV(8b)H*`1*Aa5z7`5NX{eXfD1evZ%#f zV}_Z6=xyEc6M^LbSLn65p|N=%1B-`E+NVkG8dKm^u1T}YMC-U}03*Sr)5!rP0-0eZ z7G=dyLa3}irRR^oh(LMou_Hfy?8{o&an_81D?QfJctL{L~2|6?T-o4Zb z)p}$$Cd6jKoR5yRF>veiJsmD@?7yX{iCgBPgxsNGKq1qPZF(LH2Y&NANz-gKaQY#d z{iYVVBI(~OsH@aF(qL|WS9N`yq#vGYf8xq7iD6yLvPW7gh=E)@M=c+V^)?K^K~lF) zvI31EqihBkJhb-Bw6xx1odRT&*QHVc-~2rb=C;Q?Dv%4;DfSNlJzOGEgNqWePM{EF zc--~d@5~zNb0u(6lD*cLgx?u60<)41Rs1)UXGzoyM$li*5S?*kZ-xo}LFihBc$P!z!(=8zP)q6S|v zUXJ;IEE&GXxJshku2zmtFIM@UT}ZkwmU3qaM-)Vp=0+<;^l*(6`SWVZzz6LV=d;BD z55MrzN-Q4-g^q;=yd;hqWj&`rDaX}(Jk3yUZKQ@f2C~>c8~xh{7I4@gyD(R z$R^16MoF?xpTBsldbfa53OX|Ww^{d|5ccMVZW$D7#&x&#%<zuK}*WIf2 z>C+ck+q;JcnS=B5*_EYtj}P?e^B3YCv-kHL52^Jgd2OYe(wEO)>C>-2?I3OorfpKB zB(Nln=_jqNC+mo|zB3Dj#iIF91Aw$iBLsr?VzL+gUWk;U_oP@%c5^qIA0Hm>4Qy&F zozI^?37SQ06cY<;Zq@2Aku?MdWaly}n+f?2KuTn&_-w9VB_Bf)x)F`gyjB=#tc~_e zYZ+e>K-e%(2GAnQthh#rjl|d2)al}4_2g6wCvWSbgu1!5A?EdK6mp!i0&^A)0Emsw z3vApW`&@A-1|$B4kID)0&^z{mVP zhybjbUB`9gFg{?EhWAj-i!EZB`Kzr|aI}3Re){Q?JVVx}XF8w898;)88m-2dDkCAp z`Sf+gdv>P*C^6(p5Z1ydXaD=*lzQFPV)eupX;DYta%QRY}F|miXkC%abc1 zEC@JonYC>`xc9hrPS_^EOBs(ke}w?d@5Lm2zgr48^YvkOxrqF-?fd@22d52HSUP>) zt%D!;&tG1i%>tnO=iTESeYaZx!h$~~VGI~Nlr|Z|qVdg4FFcNXu+U)|7QS}5NT>q$ z@dY3Mv|AjQcYpl&QSKOp*3&!`E<+XJ0_eZ`a()qO=k>g(aF#K0`Kn^o4;IVX)X&+a z_2sixJa~D2Aqk~V(_RPV5#ROU-Ss^6;4*&^D_5=LMQp9#DtMO1>>1A|398q6feZqk z&rc$#rPkrH3BM9cyXXr`iks~MPWXF~RTMIWCy1@Q&(At{&DKP`0{hR0lU9OQB}00l ziPFZYW*}BzWN9+alk^_fSYhy``+729S4Fngo$r0w`S?$^p6p(K_wK!B((d>9?z?aG z+Cr{mgpy0~H|Dr#UB(}O{AssLeZ$CyJ7-ficKEvR{(yxHD_O!-DmJOj3`up9PF67P z^mZZ|>JBPrkmvU=x;ML)rsDl8S=B``0+a&9v=(byV`rdb%JUcH0n*WGr&IM7ZL&tE z^===-g`W0v1Z!~Xue(J&8((%@@~6Lkrk{TLO8@#l{HV|3wcoG(!aZpJ)BofDqW|T8 z_8*AVtea5HCQJwvHA~ty5QM!+Y5+e#z`rw?ZzWhQem=uvK5~jVG+hWN>@L+TM)PV0 zhrJgXO!!G~a?q%x^&hSoO~rFOQfR40q=x2s2=~@_SBn`ML8e`iK}&uH-WMk0`#TM2 zh08FSw-=eq%VzO`#wfD6c{YRR_kuvw@3f&edOqgy5k<`|n6m*610-H=3Rm2Juo6;n z%Phu&LeH2Fe8=arFk?o@W@gpOGV>s5Htz+HnWrT;Q{5t!94(lz1bkjeRqV4hbd{jo zc%MsJtJYeygQ?o6dH@(b-r>5z!l@S8ySlmsma4p6vG8&SI70eZ?_L0qQW< z5#zegY$~@>UIlV8jufind-7mYBl1GZ9ZG+3V2;l~o0tP}X_j4<-hZIK{PVxs_xTh3 z@Xb4Vw0_u<0J4wq$De-k*fai|f$pbIpM2aJ+M}Zhz7MNp6TnWrr!q2qT0!ZyI!n?(I;&QchVjxwmzqTu((R#GE zRWOFi7`dBzgSg&b?WVXR>_&M!gL7`P#mQS*u)aG^k-f0r``o+N4Ajmtv0qnPYuztr z=@`LF%r%`K@4uDv_}Z7tGnGI2KmRZLU;XEQBxY7gU^hXfJveovATW>XvoWAUO0Q~o zT4fn+SC9dA$uVEX;Gywl@~H;~-@_V6AV#%XY&%+A>g2+*O`T(;dJ0HYV6kdoamm}x zgmTr^7iHLR8sF7~DF-m!S|VNnuaW&(Y8@Ko=Ipsh(bo;&0hFZgaJ8o7I5+B+X*U88 z<#r9=mN%S|d~>49^QmvU$h80&ENrlT0z}pjwx~d#h1o4oFg&|Q%tB_)gRAHoN&#C; z&awflxpulX2g7d`fV`m$NDsk803Jp|+Mkoc8j4zW{$Z>y`cpa$T8R*JRM0%MaA$e| zeTTJA&*uisY_VFb;Ny-g9axE*t5$cRm)4x_y!3{euAGL2Bqg0vK_awDZSk_178}VG zh-VxGtbvj&46!E2BvYkm1TKDgSM59QIa-bNX!d@iFiT3YT!S(bcvOsKim^$J;AaKv zEejm(nO|N*Kga=hr_5XOeeh2Dj^kY>KxByz<;Hi5%+)f?mm|=`(A8RqxLzW47jLGW zukLc2$9y=L1#MQ#OU8d8=TRm^{oN=hs3j0rlKYo3y(medj;Iy}kI!%MZ_IPaWNqtNl|f~@<2^mVPz125a5sOeTsQWT!~B1XYkgs{}%<;7<((l3OVaFbcuRr zrMCghXL=Bemh5E;5LY6u)9Z^0!yvcw@;R&sqAnoK%1aB^V3q0(%$HAKVw#;=5_rt? zVKK-&Hu0soVv^R2)SU}{>T5-v-U8)%UY?2WKpO9$J$<~N>(=B#&MFVRpy-_!|_7;mLbdLMmL^spKT58=&YTWc}#@!_cF*VeMHrAW)yO<>=wc%^7ev_% zfH;$|CcCI~A65)qP&V5xJF$QH`eip2pJa@3|CRj37_Zlo7Ddp!#yV-8uVRZ+bn&TJ z+*nJs<*Ep2uC2%Ch+u7+Ikz$IT#6+z=p3o}T!W~KBE%s8U0pO5zt@yFP~h}bIr#L! z>j7m>S$f15plL4T#K@=ts>r}irDzPEi`aHagb+r_z+fHS<(eK|Tq6gA2k@;{j4`lq zce8PXDHFV9uO5??EjMAwRK^q? zC5$GvU|@KDwnogy4A2lmgtZH6MRK~oHe>j zG`5t$T2je=gdyQh11T#6cIF z1m>Hs-~P;{1`zEf$^P#5FBAZl0qxo9=jr!FKsCGY*(%Aho!6H;K=HxhQ69p@)tN~Vis_=3*z5sDmH*o;|`t%x;vV6KH&jkmLTjPno*vvfO8 zJYJ+;BGvI!rrsk~U;b7NLH6zab zdNN3kwRyOwW&ii`>5E*;mYuVG&x>|~Td-a8j0l0SRok~NRQ3h z)e>e*!)wa5ZkAY*IJE^CJ-w&GjK^5FoQXJCGH7)B=Id9_@C*x$Tk*hr(MiPa+j%h4j3FZH2;)P8=S#{WmG7=SG7w4o|1MU3M1^)(7`*@u~sD{mbI5&P4Ck@rrvyMe^N`OYQueDv?F)RS4`Z0U}>lwv&d3=lS6*1|X zB?N2B=bohf*y3v>7L@B{pfUY!@xqs|robXNdl@GN0%lqLDmP6EO>!A#h)sLVGK3*h=!RNq$;>>Rq*!QG_#=O<4 z?(7;5@i_K+P~OVG+Z9X{pLZ1B_NlKbqt>=e1$G<7FuK2AG2@9Sk<^F6ziAQz% zSC`^-5Sx2oiUDy`^a^<~`DT0n{_Zj6)#XbwkJT94uJQO|IXC`%<+vO6VV`#(SD&6l zh@dwZ86Xi*!$8Ec9>4weTMP!nMPRs&d9*Mj4lJ*Nzm*wY zx9)&%1WIkJmy?cLpD81G@%7{bKn8Ad1{nOe%p1{A5gW`1M9KiQ8)#qCCdc`sVAME9 z2LDWNtUZCTAueXv%=QkA$mc45F3&a#g2bye6^iQuVR!X&U7%IX$dU~vH^+v}>#a)D zHq6~<)i~zQ`FK(cOMX9Soy;qAPKqltG1l90Y*~90H_JMeYDsHla>{{;8YpZ}pD(`G z6x=~b$G-9Pp2|XGMWRgoS@ZMr9A-Y@^H{U(!Yo`whw}m~5TUYrt!-HAYDGQ4^GkxC z#(i0e7rlX#W>a#`zW;#qijU#H$kGlBdjLXyV~5M&EXmvzmN0C z?y*qrp~{<{cigF;{C+CT%W!|^@6>6I9lw~R9`3ztk;Xl00-<>42F0nUa-7dskQOw_ zvbrYT0=@`9rDSkSZp-pPyR=xBf>I811=pl_$yz8WS>d1gA~O4%`L2s4l=%2c?m109 z@41B;gTBl8MGP@Aw@cKv1dj@3w-NGedM=zl$tMky;wZh4WuA0qp;U67XQf-sJ8DA- zv0F!$_5LnCcez~Ijyt^hY^`GDdj9&=&Hqy5*EZ6BSKFKPSduL3VdfrjPG(kh_njyb z5+QE15c#L6g#c{?>K||;0bED|L_7%)1UwJ~1&Sc}_-^;@s>uTKeUB~-a0iR-aNPU&_(^`|Oe7{_wazpv8pzMly;-bm%p8{j z!sGi}ilaa`3|y!)#uq@G_I1l{yX5*U*_{*?ySW!^Bpa;5X9$WfWwgfOFhM|bDmKrJ z$H)7|Svn6-Ps$)_v}Tgb?G^#+=ey%IMX=>L zPGdz}E*@hw0mqZD0jRPwslwJ?*88w_h2VzMj7JjSSMD<1LBSwcVQoF}c?n1{Sbb_e z3GhKsn9_H(M6C=)cz?EiAI|MKU-G@pe84q+vk2Fw{HE7Do|4XeIgb&sZCVyz?>GKK zOG-qr`!Du$?W1rid7ZkpVnppj5ndKc+%^@6D1z%dI*hGZ8^KtB1u>x%dktj;?{J0I z!1Qe8Lhn@c=oTV!j=yms6{`=Fgk?s1>-p$$hsL?g1J6 zMVUO;z~}m3QaH2FAP_`QJ}CI$)Y}^}pg7~@0Cjs;2hG)lAis-IIBy6SOeFGslZwtr zIw+QT#sKXT*KjdQ&<< za7_g;loWjFVzCQVu%`a>=`$_I@1*|QbrrV^TIG20S&JzYO=TemNI>z3aRPDhwOJoO z26xD^xhD)bUM#zAGSd_RBi7qh8L;g|Xer$rLGy)7HD)j0$aBKSP#(NwktSvSMZ(+@b;3PSu{S$VkEId zuxJiRK{PV+5s&t1SnmsNx0KjAWUDp4yL-K=dU~b^^Nw>G^FolfgjXzDk4%Jim+($k z9!d!s$j|gKSZz%mWX!+Wy3`bRox$4Hv(+L(cbvakfppy~RfZVMU6xgou(B1|*2m|@ zieihVkNcU)trD!k|t5x5V~$<^QhaFZJ}!`I_I2p{`Gd zFn(YGAOVEC#;8CDnPr17Sfe7NQW?w_t2T_6z~zBdVFq(NPB%FgHEAN_i0j?(ihg%k z%vgBu6xOO|t~s=Y8w{>fJcBPzzvky&4?nZG#K7#>ywMy4sX>?N z&}2bKYRPifS!+YQlAz>QWSdrJOc2a47vq2k$w|fST#6!G1xhHp2$>68h>r0;bB&`- zGj!I9VvM@cZtm_Xn8@6Th=0<(3m}%6NuDq0XC@F_a8WZeWzdN=K&_m$tduKh!%drA zBVgcc`OJ($EFJ_Gz_Ff9GoF+_bc_;<)yb^{U{3s7rU&e^xZ_O&%h_(Z^a0cHJXf}M zZpjrZVDh#LbK}5R1j^z&cpsEfHQz78Ifz3R3=9H{IkA+I!87(2NbN55}g%rPq?d^F~RwA_b-_R!hmtiQC)B{m)2dW$u6+`2U?W4w|9*S zM{+}s>jAUxpnzg@&vWVIS!h{%UK6hZ4GbX5&g^2n8O6%pc4PS6TLAI3@1xriB}Hbi z1$y_->^y=G_BOiU?uB#QyBzGdsBr~lB8Vnp=Nw#HHY(0senm?Hx^-kxnvk?Tyj-%| z4}78zW6I-KflC7bamy#2`N0Jhh9T4$OVpIs8r$u2w2m`1-) zkM+`*53XCpmFc-zT$W*cv-|r#%m{d?F`#cE)A5Y_dpRc+l^+yi%pf!&->v@ zT`fzK9DrQPMK{?7C_)ydXk)Tc9Mf9pTQ;ola^-vI>brApQnf0wO*Y?VZxxV&z0ShN@` z%4;C@4@9*~Ns@0a07W>V5b+(R04qxsO>}WLD?nlv@-PRJSz9R`5?zHvfQx0Kty;A5 z%a?ERelGCHv5-ojONy7%_n=1{KMNU=5EfVu%{uxj-+wv)p19z-K{#7**zL=V*1CiU zeF%*-E1Vi;ZjV8+dR_qjh>yT}!77Ngb0%N9$LffyuWKB_+KR-5aJQcgr4K}ZBSU#$6jaX`>01vaO0C=e8RT|ft7>F9cE?(52*z4q6U zX%o>rNDX_mcw&&s{zp5&S5mojGm z;*90MddNE2^PKd8bGJun7VPTo_8j{MzN?=RwNw$nL$b7%je$yX zLxMl2lPkuuKf6}m;O~gnbeSx2ug^DaFSS5e9tWUm9Mo#rHjIu%kW*NK_*$x3-1fZ& zlcC6lV_>5u)~jo)VE8YGpy!_#%g+1uF#xp7rnk{!|Y&RMRuPLgE6 z%+BJAI2Le6Dm&3+5*`^0EFLWUai}>q?{l#~jiV0q>t61;X zMLi|a%8yQ0DWgC_W~U4C-s3a8zA4`vS{-)scXZGb-rE(3Yy4u+mhc!`*J|L9O3)Gi zz;V|a@649)t7ZjmZ<+}zxA53l80O4*l~rtwd8==SMSr7jUpG+*Qo+zbghnp(M#Ups}tA=E(h?djY6d zBhp*%R*-hn!sKbg!C%l}0`v!Ksf@os!6kw_7PU(UnlTzit3(tZ#!_LPJ}3X8CNB=X zn7h&wI^DEB0w;DIZw}V$q$4ObNtrV;McA&E0I4P{?xrx1^CAI?@`&Btu6l0iUCV6- zxU#NZQY_Og4fpdO#B$zqKhJU%|3*AuerDaP=NCwf_)UT1D!hM;0bZqb5i_QK(+cL* z{Lf~>emty8+!jliM4<>ge|=GHaNn$ET$e4snvkoO9rNwmH=7pAkg2Nx6oVo~$g&r|&*{CXfh#TeyAX0JX&h(PBZ&LfFgVZp=KMecy(4yIi6~ z1?JNefx*q21Hd)CI{f;x8wxQ=YPHc5!SQY1fB#wLq~OSU#Y)SwK0FK0k(IAn@`Y>< zR}0b%twrZ1+F&Wp6xB+Qz@Tb*0Ifyna3dIM7k19U0la56@k%R}b74A!qYs zpoXHJ+3osJ9voEV#0P*J(2i%(6X^Mv`x2I$*%Bh_(rO41LflwlqSG7!Q0yTN{HV;~ z2I@{m5{zMH-&c&G+(A+~M#k+mQ--0(zEZ6D+*Jd@_#RqA|LQ#{FqlVJJ8Z^#0^Y`3 zyI2|f(Al6RP~o86dK|a>UBs7?0l4&D1phm~?f}2!iY?c$ysip%CAPIUZ?m=wFgKt| z)t_ewLVWWcG|u1u4H}t1oDF^~w{iY88J-tejQ47}H1fKL0MBB0u+myB ztsiQq`p*`&0Bde;cpzuUctPIVd*>UMJ}=5@<+b5+llK8&Pvgq#>Fj&2-DMeg!-<#w zn}7Mw`+xes|CKV6QmmjU_XoTfu{HNKbJ{Kjuv^>~nyrggxrapqKucP0l!)bG0_6k( zNqE@8MOMtu&*SEIYH>dU6sXlrz%kUP!Qv|DdiSh>VXutd2JeQNQ3p0}x0RxlY^L3g_j zz?A6pcPZs$fy0$G^c)xrQHAG*n{jb#jC{ZKyD9uwKK(pmCVgFfdAkFFLX&H%D4kRj z%DF(ThC84mgt`={SZooGcQ0;kXQ0P@`+on2-v|I)535^_A1XFZv2t7%3xWm{siSKf zhcYPzG6$Q>2Kq@0;V~MxALS2RgH9F|Sqc>#QZ~giJ5y{Fgrn_$Gi?x-9IWfG8NK^j z_UU)!4o$e)03k(TnOEzMxkK#PJO)^p!T9s}LivD9tN7ypWKs;=0^rk$0OG~LY|jIC zkebJ<^E^$`|JkN>%{=?gkr~F5>2-Fk5)sXsfBroGd;UG1gSJ3nb(w0iiKS4-?6idW zX8vR}2;hB7g0An)v$|zHj2B9F_oC$~m~J?JSol+|sT;&H@KT%y8OOwj5XYL=34pM3 z=Kpd2Z(JmIy-1zY$LsOzmizts>QH(Oaj{f6kNu{}Rr~02gar`th%ZTsOMDOD7j+;} zd4Mga+ZKRK!&ssWPgYRpm{sp0QG!or0GNA(b;@$dK1t^=)6kMj>DWF;v1cWQ>{bPR zWe-XuG$eVJ_w}vT?`Vc0 zJlu$Aut;P6Gf>O4I^qC2jT=`@&qdZVo;84RN=iMyWAE-Y%)igy<Lr3PYU3k1^F z`OKl3Gpur+ri&tqwgNaLl7`)t*d=RHN*T0~(WDL01w-79cHG8OpHBa8_0kUj$87*CEtqN@v z1s*+qh2#0e`llATVwNq5?b^Y7SNg*relPnemX#WeJYU_on$1!fKmu^iR81h}D<4Aa z>F_%M9uY2m(!fguOcx4`vT7_Tn2t?Z>8q=y!Vf;(iTeO^1nsl1p5`2acO3VuDN>L1 z@%S*@YwzB@5Apb2`FW?I1(Oy(wj`@$i3ZJTiyul>_)c$!n|@2Zh{@h7d;yupt=$Dl zUXa-LWCVGt#GSS8YRW`@UP*J$v93A37x!l6B?GouaLBt%kfRP5=7;-o(haUH)!EAm zN7m$#EKt(>md9%d^HRL6qKv^>R1NEU{P~0c@t!;vZY>{sAM2jC0la7a1-B>o#eRUb zzy9MF`sqc(F+Lp%)j$4+zo)B+302aF!g31!S_I@-cnA07lqv^WvI(bB6nnAMgn-7} zHL0l*IzH$*@6rCxWFnLb{w`;WqqZcHxA@9&wO9iQvoQ-ZEIw*6>;sU)T4W#x;Dq;P zFqq#l^WUr-%^>^n@U|gd9K1Y+P$E{b_n}T2*6p74e!jxBJ!OXq|DfT01FiP)8K4nu zm6g`OHYdjs-vfxck5#)e*?2PV@b$6x-~O*sAamPz0Q(R~J;bM!Xo`&qFH*MT>ZVI*zps{^soHu7(AfnwGcvqG zK%c~YEF!$1HE8`b^25tlls5>MU`DJtihjmhY2y^WjYb8D@6ZVhoUAqjRNwi~-->q-SYlRU$Jp2RBQduQjZQd4CaHEJc_f zH0x6|?ULQiB)?m&oJuyW`yLwMNnA-f{F%`@(WU2h8kvDuz|!H~dp~LH?i@-MNHCXm zQM2|C8`spe;N!JFndSy9IWsF$ym!sy(tY1&w|yUQHh*!ss5MfozfAWWm&@nh%F0AiN}1jlbm$$J z>@16{M60OMPv=)|MSS2yKXz9dZ+9SS-m_!9dE37L;96A&Yb=K>r` z7@hHJDS1_=HSxZe?23djUWFD&qkcFf^1pAET!&Ngr_;T=b zi7d6u(B z3#H+(1(|QJn`>kg^c`Aar(u5hb$;eN7Zv{9OEX~M*TedQaWc>o!MJb9U2E}j>q611 ztvXl+@DulnSnJ3$a%2Qnh9jO;D74KOqh`k{sAMp~0PvDq!C>8}yWmEEtlk4Rpe2eR zx^&uGDx+rZ&o1P#65(PA21!ZyLa+rmR12V6I7~QiyTy&w$h=ld8cnf9NX$;ZEt|f$eKI-<}DluZ&N-9bUGv87?u|Wh6jqd?1o`6m7AAh8Yl=1=G zATM3OYsS5&`MQ)xabb0{^gf#l^dXhV*`+A7&Q+3iwg?B{{a|nikgCHD{uY88u37Rk z?(0~{&ogMX*Bl}j_S>v-sKMEhEYU#P#XC-P z1Kn&H<$duQiax$Xe>Tsc=O|4gvEPWoFf<6mizt+DTa+xSW632AS3z|EwYIZoYQ0{v zE~$ezo}R6WZh6o6!D={Wz?W-{DjzX#Ti5f5WC)G5*SKYE@wFSD4vROB58Z8)O{-A~ z^#nB}7fLbzpgeLjPePWJkg@8iVp82q?y2P-i4aI=%+^Mn=g8je;-M-n7@~TV78%oy zVwrS1$r6NCWWdQUS})gy-b5xA2`1$%QItjis^%}C>_$v1kfLsu$v~qZfGrNhe|Xe# z0Z5UiVc)})nSorGFV*S?YZbuS^{R|U0Dx&Ov&9b}4sDyD3B{sUlW603PD)-U4}8sn z%gw}g7|zTaOt07)YKG+{1()(WcFUGzD<-dz^t>%a2-*pOa*U70t1uJbGA9x%^YkRa z%f){8CUx}QqA+9c_dzEEiCPDfbOt~?hl>RTBNmFmjg|sP?&qHDRVG*fLbsHrjd#pe z5d53t*TBtSi42QbbQI``b|Cb$xM_F#;|uPMrIf*~b+W<*0XUe`gVKiaaaDEhG$7Ak zQhW?gyR_4s?p@>h$NQXYCQZ&Tql^uiUeao(j~Zi+OEFHQ`+(<|>NlU?rBpAzjX!v< zgE_d;ZLaIZGN-LAneK~e_h}3|>}ZEGhX<%To%}u8H+d|FGOwKj4yT0S4z)tw15L(E z6?7v$NyjO3v2lnilQc=B!a~SXzZichDI2;etxLI^WZ|ScBg^~T3%w7}dJ5cz6*bLo zxD1TtrNCNBnC_^B2vF-_Gt?=Hc#WXCkapceiqXmtHHm{9=D)3GLKIvRV z0!(pGcyH4A7!+G{oqN@CAf!SVH3PZ|Cnm@?A3TK&2! zNxkRf6A3u+azNEXG&C!pJ11!juv(QkNl8G-0W2QZ#f=ih)=}c$g?|ldNE%w1KABEL z58&^zhc4rHlTsvA9$?s@@c3lQ8`qGf2Kk~-hwSnm%#iVY9E|Fg&C8(p`j?4E7X?&Y zr9u@5fGs^otAwMG8&I0>2kPLN6&CSu)(4!EZ!|+yX@mj)TyepZ-l~G?o8X~iy#M}x z`S1Hr|K?wrcJXjLQ-KF2Dgv@;793g!aXi@D+pGKz+PVO#MN3;im)Jlfh*D!0(74~*Ueu9Jdu@5*%OZF}tAIG^Q&Dn zD~jREbJAYnyt<{_eCPmj3Mfr^YgSv$fHL@LUT3LMY2Faf>~NMSfLTsp)OpM?rzOCR z%kfUFpN~IyB8&_C2fUDk_oX7xS*G+HbFFJplN=EE)e--vEeze-4xV3qqeE^{U=yy$ zpe2c-AU~2YizyS%M{Qqu3}|Vl05w`}p(}_a=rzqxVB_rR2%bGsZ%t)oyfr#YD*R4q(J>}du&oWMJYKHw&9)cp|505mk8 z5aQCS6P71R!Ks`Dd_l3=McRvrRk11XfZ1MJrd?DM5*bF{qU#1bOfM1l|h{lLKMZ@{q+$&V-ani#x_L zt38IXk%Mxyk;zs*r-uTZ(@($q=+gU_)BT8bTd%4t74%l@CDDHXH+(h+=4N1xtJ!!R z#vuchC}w|S2M2DN3F7Sv{;)lwpcmOxq^X=|0MMq{D)JT@A^ zCV-I+D0oY;_JH=kp21J=1Axh6#knw;s$$Iw5c?fvJdfZ%=&cE!wG$=4o3LaW=M26} zjoNSE$z@8+bES>K%IRxP0a*JUG1&o>?3;IahK2aF?lthlh(Kkaq2Uac2(`e^Auoc) zrDf&oExtFo6fc&bKvo_k;>q>wN`Y~Tbyr2zlE7NBu5tK{doD_Hmzpf-=Y*WL_Y)t- z?^JFQvY_O(<_KM_m5Z_a>`7?BLHWh~j14AsG^hqQO@a)}VU}}6x54ki}?h(Dj%|S~D1?gt7MSeKLoAo?esV3)ARM@0a(s$Yic|Rv<9oS`tv+ zuvQ;m+dFfHaOWkIIdIYMRju>vnsSqI2{1Vf-2kPygZk#7Am{O%^!oT$d;i`t-a6d8 zw>@043^eH1f%E~S5&B|Ipo6eBbx^D(S^h39-J?T1^ZZ$(4@mOkx%7S#&iAeiK*6WZ z2_Gs`wxl3(A4&nR<~~DwmRmrkea%2$3emO@#)t*8fu}uS9x}SE^0}iS6EtFhecm0G zp5V*i4R~(`l2|A3pS?$i8H^#X)hK`U8RFft@pv)urtxFQB*vQO5Q$L{8UY`BpG0PD zXGIA27vn+T?>ZRr#JbkP;{+ZVS9dGZX0ct}cvtUXC=r82zdugfWtW${3P`HcN)+4R znd_|&)+@L+TMsK5_&EbGFSLu8etYBYMV=9tt#X)u&i$pE(eLavgxCi?Amf`av^>RL z-J3J^W4Ca!fvyNG5&6&MQ1B11(ViYmIPxa#`AM#M$%}foQY8V>ScB3k_9l3(?FCy7 zkeR_*Ut082we**7-^8^jgm=-Pe%)*Zk!;>911V5wkFrsz9#1JABZq?{UTa?@4ffwH zJEYp-TT6hWTq{mp#afqLn%h%4OvnJVQ4I^vRhU;cl11TLiAUgjMEh?pn2^d26Yx+R zG1n~X6has`CTXxVatkK1jEcGUE@o}AkIgM%LrsC_6j)XdR=13$9rgJxF4$!K_sCeS zl^jG-nnUfd3R*%2yHmT?V{*{Y0k{}gT9y2*rDxc3p_NnDd!_ohtx2=sRsQ!r)eZ^^ zoZ9t=axxN3+B`aUQNGxKzT(zy3*Hz1LE zBO)fntcng~lhBVxj@qOPlVpVyOSxHQ`RkGt!U5Ubztm!iL_x#7P7u>XCNT9bz$v3^ zgNhZHo`ncaF;97o*p<BlcS|8mOcQhQE*N$Re{aRDT*#z%FrAGcHe@`1i~%O=)KgB?7NU{_ z`JU&vMjT>Myd3PE+Z`eiCl~bnrGz+x&ZgXMC*=uaP>g+e3}3!I)7L-!EZ^L@*=*0Q zGczrktIw@&wmc;bHa1Y1M)~^92s!3lExkNuc!%7ipO!~IYT3XB~N85;#-0dD99;RpKG1%F@#Y6 zj*YT`Y8;U64JTqeNN-pK`dT6fgh1~Dc<{;k8+!bzjsz^bjqj&Y2O#83@Fl&$Ye^C1 z8R&flz(0Y^3|@h7W$mt_Sa9!HPX3V+2iB{UI|RMFzDOn$XF>DVxE&BISHnt{X}|O3 zV5`7zCF9D=MgD4iQL+M_#jW4zieS3Zu1?}nafj%9I9o(0= ze=a$b$G+5>n4^X_fJw{m*TpDctfA&e?v8LRM8T9Z4Rlq~xa1KtZ{9NjaEq4q;rJbH z@zw1e9_M0Ay?4~)D+5UE_x8$YxZ3(kFggJe^+b0>AM9XyM^9(e+-q$=)%XG}bC5Z^ zR`yLxixlIR4-bp*jhD9mHeuaO z$ZBJ^;=ij)K2MxsNC*9F$2qZ*QI}3XeD^3_1*{&2T(w39B?|1S`&r$L(rT(&ka|fw zat!?C<&|JX(Yupu0bTGj_q2tIpe(T^YUg3Xu-HF5t{S#d3XM!014sCUdJMR0h|YYY zSK26RPdk^8sNsT?Y;ilax9vrEIxNp!ENLr!|NVE;T24#en3Yf6w)Zyvs*A$v;#$?3!wc(ru?0M{8A39lFIqA_$gDKYb=jJq^{ z8oWTx-MjK$wvtNajRl>viiey4)QZ=O*Nd|r|M=673fQ_n3h^7LoR5+duzCSy7aFyU ztZDECtwBw$i?~nbtKFgw%ZVM<&~n9;+M_2~Xa;6FeJL)mok?%8_Wb$nU=(lPwC);& z1z>5n%n@XkV*H-vM*O>6?3R4)`m+V_51{t`HQyr)x}ubbHk{W|8MvR^6+Bp4((}S9 zL4!62mjs0B{c(laybUe|{>_uD`Ij$W4u;1m-up zdOIiX+OaIrCWn$jmERj{GrKQiF0w|pC;aT2oy%fE0ojF^-+RZN$H7VzGiI3=x{$nT zMS$#bbjy>i<;&}v?5(Z`pBEmFx_G5mFozFt46IeS2jA6tpK4M4_Wb5+f$~N2o)X1= zT^;IU26LYZ`<2p@m50497y8qWFZBF+la*Qzq_MpSG!wcTuMrGDlzsWS(esP(-d={& z!GQGJw-*`jMQY=j8_o8U1^xAM_4UaL9KTMJ*H)T~L$f^MxNrVW+c^XA&ChV&kL92( zc3&|i{MBFmHU0SW7wYev-|r43=(oT5jql;Qya|1(8_ zQGoi#KmJk1#W7yU-juqI2Xg!2hacoDFyNI~t={9j_HH%Y;>@zO{Xwb`ke>_bahnV( z2ruH#7=#G*+;RCnUJ!Poa+_C)A?6t=pKH{Yn%t1xbPehaq}%+h!V znBZxB@cRy0QMy^CgQYz(u_rNZj3ZVt4(*_c;e(PgZij0WxFaAwy=MHT-yB-!@XGsN z8<;38P5FECz4ykZ^xTI#V{S0xcvJSWVK(N=RhvN**7#3%) zQ_^T-fc;JuxQ?L*T}?tYgW=Gs~$0K96%C{X*?LqxO_PC#Ewf%sRBl-h;&E#CZI=e4xC)FbgQT-tK1OQn;roR>)14v7c zKH5w(VsJF{1UD@Dl>7NQJyWgF*grPhAv<462k~?5IZ|#2XO76Mk$7bzSUTNP;jbuC zL-uXEc?Kt0F?9J|?NXYIs~fD#lIpxQdSJPAS>0MBS(fGv@D3|Bp4+a93s=2Z>(jAs zSNeJ=WQd{O?daA?Iw>-{t8&9*mJl&k(yk8%n0I=8xrt)M*22ffi*%|2ALI}t=~HZ_ zTM(9}c>(IpV7irdrzN~+27??Jv*Cn!h}QkP9zgCd{-^%>AO7N4tOuPa7vV*dVcUV5 zRr6;6z+YUgcc=g@wId6H9+0L`#|X$mOUEMBu)>scb_;HHAwPj5u&XVZWbwUhC7eN3 z2bxcrYcmtAR_-AL5{*L41e1fdQoJ@)Xqxx0VSQ-qe1Je&7aS$rOtO&%jOC!zs3$`S z2@-^s2a5#W z0D5p>p8IAtpGUUNhoYrV(VCFeg~XY-`|wVmm+W_y?D4%HGNNjoMUoJmBH!y}v>^LD zoi4B@i+}`tR)8{$ca$^&02P-BMn@XrlCpmdC`*|kF4jvLOYCt@EI5m<(RCSnD)+>b z?3l?K0aT4dWB(EUWiC(D5u-Ru-S$HIZ^|5_n~;37cMpePWhzrTd#)g_O0$?^Q+Rq! zeTIeKnG@r2lA*en`_`OCX8FuweOZv1nPc|4%Q@^j znh0vL6Swkw9gHt7OItcWE>sh(m*64NCe(ILlRqe_GTr8=-*26~8U~&ZqX_ks7$JMK zY3Zlqch}2<1AJ`_sqfvm|GZ!YU7z8|7j*#_2Z(Lxh9momvPJ;ny{B?&+FrC87zbTy z*o$Hm@Sau3g~8gZnPkn(sSh%Dm(G@8w$JWI2+DRl7y8A8c0ls)ogq(l%U|9h>~Hvm`eBk7>15TURv4g%hh`B$Soz}qienF)*gkj&uCF56{(609om)Hi z2fhdLy}U;HzVDALaE(I9N=ZIHO@i6vzMU-2+V16S^J0lx3?Q-JdhV+MJaxsa&J}eRZ4KaFE-Ayl2QPNe?*vB<>>8d?vgfA{a7MKefKW?Z=L(kk_&wZ=WGEwS&q^(V8Kx}4 z9Fhgp7q$L-h5bSUkYP~9&qFy28B?+{&S4&q2Rxc(&2!BPWuM}MqclcN5(2Moi5~g0 zi-F4Z@wfce!!`CN1(jRTM3XWWxtHfpyeZC0j}l)sVi;S_m`v9I=z7p{rbF~iugj>w zVt#|Xv`fb@yOEX2m6B+yhax*DWCGO2wL|ZAGO$Gv-MltET(QMI z#Ja^k06WkDt``G$`s^qioUgqj<5%U)T1(U_Qud{cJohb?Md)LZya9F12rPY80MN>r zXtNM;f|wpbiJ2_+EUyt{nIhW9G%w^x-1_+9VB>Fgl|1NiY!mx5JVcKpxj93`YRi2e3b;^3UTKjT>oy3dexNdqGD6j=Gl5$?svc@V3ACd%V!A zX`y-S?_EespEYd%-km)dge-NMo00qYEkptgdqp+(38ackZmnJ~uvn&)j43gz>T#g< zj6Bw9UVhJ=@!eYw752@$C*ZRj{EagP@G&SBM$7rk=VyQT{(c5p?_J|p)rE-?8F==2 zej`x8JMQ0m@119$=ydqb9t?E)&gaY2R?LPv(4i{?6R^pbhS>Bd*bSON9FQ=ptPIdF zZno6zImW3*sST>5rL0?OYVKw;0J=RT&!u-F_OqE#hHTT{+r;A~t`P(fw7so$Dhd-y z=k58gv{*HNv@7Vv`%l@)?F_hZalAJwDdZ%L(|#Io^Jj`eKY}q{Lx~5YNfGaT0F4+M zGE}iPNHD~@XL$x$>~ut0#tF~l5+RUxZYXFe%z%mm&xl2jGm+)1u9J=(adc8cZr>fq ztC6GFdfyE2=>6P>`{nsXfSbgq73F8Q8-M;r-`-vo6tN+ut_RqAqd$FlmV_9-j{)7~ zQoVOC0BBx2UWbQkmhW1A1Z#M|!;k(8Nu?5FxSLW+frD_rRuReK_!x605Dj?L)k6W^ zOeDhq>M+(5gb?{-!fa+Pvaog3=|2#jZta`ZMqU1H+$HUH7&W^0cY~(jf z#P6U69pd)N9l7L;+L$L=%y2>E4H^!wj#Sm& z3Ei_->snw6s+T~(KFR+|)GCV7JZVma?A>II&hG%4wcG`)S!?z|q>FiWdqUVF5h z(>)o%v3c_B&K@-(5IBt7W~5NdCIS}ObTaP4wed8)FMIbkDop%f2k;gajgBS zF<~;r7W6D*l=T>!%6kD_F0-*m;u?Q{-wecnZ;^`#bI$l z*bIKaqn(!mteVVqD-LCsYAR};_A2O2!=zlHAd8L5R>j>j9|*=a#7%oLq0qm*U3e+U z{`$EF53zVOaZKMf2;1a#)qB};inWDY#MM#=3zuLS>V0-{d3t-h`TEJ3G&(X;8E6x6 zX#C6lwtLn$e?g5URZ6XKQi3E@?3x(!czql^9h}w6(^3z|qE!q;9&f%+Zm{wbeLGyX zSs^G1s1s#F!>kaoqH(dx9xUhfsRT{@6Eza!qqR>EEL&*iT1(@7zi^du_nwSiZN%?B zD-*v0ECX-#d_eBKe+Gg>>4b^NIfG4Fr=Z_7x?$Nx@HCIxBL{%C$Sqk)1p0?CtM4%F zVqg#BfpxUsVIFcnm9WSynsuzDKe}gYiNLWMRQIp$LPz2w#q_M@Cvq>`ZbHLNVE}0bTD#BL z_ublM!HvU{(HJOmqe#8I>Ot0q*{FX2sLua}VxjlLJ(S%d!%6Dn+`s_y`p>J;@ec}j zR&FJA8W-N#()zUfmML%&4h4{IA(Eli^jw$#;(HnRHd9c_2jJ%K^HKq-nUYu^xNc<) zE~{IW23oPC3|zI8U&v?-Pz@mjfIin&%$M*5vv{>y&{5M;3bCnRW zs!UwDrr>v{qnb<9#C@POpkVZbq}IHmztq)wd6QC0n&3qS*utaodDR*1|@ADqN@@9o*k(l9~`{&DrRT|6R^nwXF zKNC#JfeExcjH{1k>ddqiWL2}mbqYn*1g;5023TNxzjVz2Mb|@n=q+o|g5J<#UGh9g6(6beE{kg^>IUw#$fo0@5Oj2p z=99+Sf*yncE}c&05gZ`g`3&<)7HkyO%yU)+wv056!P3Zh0_^N(%k!P9nY#;V_d-7+ zNDg{?d>BB6pO5nQKm@<~Lg2qP z0p8%g($|Tb-D0Ap5<>0H|AfwJcnCm!YNnOiEJW54r$ zY4@9b0M(#Dw9Az7nY)t5^dbs`(&WWrHkE$NW$!~pO;deTvoeTrRoe zNkA+p@F=~N=MMu&v_fq30d6~8QY6|8!m6p{fM7Zw{&?~DpqYUU-|KxaSt@2jLCyet8EznuM(YeI)@XJh!q-785)keHj3RR8jFTNzVP0U6ic{>_ zI8=5IGbPbLmQhD=fZMxk(qPDP5ai)yT;#h8Gd^?pZB`KaMPyMQttb)u#`W z^U()@wfj0{MZ?{P#&9!JA)|Zj7a84TA(%&oF=-)5>p4jZFu}}cft}X|=St^eLDPj! z>l-ct5UkD_io-0#v&9Nd@UZaEFdisS{id-jp`mvHw@Zafy@zsuF~nDd*Hp4{-_ZvCLsuRZY0S6 z5SW*PCxLHR-6%;c$Z@5AY?)Y&m_)m_gvx8+ zuf5~x!F@UIi_&+5<}Hp)TSSptE1Tt*4tqoZXI)CYjQbUH_IoAfb(Ku(d{rwm!~b_H z8ohsEKI|SHV!(U2Fmt&eWV*X`a8LlF@sjG+(1TvgvJmvGc!-Otj@#3-5zO%Ka>r;OiQI?j0a4flzq ze-Bxcc4h52UutE_2x<83>E4-n;hoS*P`76mqBQ+nC>UgBq9DVP=Jy^?{}9Y|B@ize zk%H^Riou7EK^zm-a!GSx!dOY`Q)x>RfFb~s49Y}1tJWCZ7!zxt%hHEsr6k1LB+zmA zuy+7NYdwbo^PS$*xCcWVgl7MEtzhy_zn$K4|9khYnBy__L)%4CfUHxZbzysHo@2(d zUOVk~J}dSqlmumVJzHdqZsr3Dh5_w78{i~5kK@>^{uPy2o7fwo%slLA*ogDmOzRJ@ zH3MUO&*PbTr}vb`3?f-j(M4lFAUxVllc~7CCkq@Dfes6Dcgsg+;aOnG>Ut~!4b^8( zO2`MGU+y<>uv3bAV~Y=%bMNl{1u)`&Y$>+umuN17;DPt)fUt1^ihDl+gPA8$Nxv%- z{|XsNlMOaKyW2Y6Nlw}`(2R5J?n-;O>j2n4(Qeo>v5H0ey|u?$q72I1bljEu(g%97 za>epp)%`5wfgig^=t`T)&q$Ryw%%PTx%enSKfJapTh4jmSg>;OSyO@#G|xQjA_{Nu z@eg9ClwsdoP6|CuGzm8~yZ4p{1xIYb-*!8`v2K~pTR)d4iK4RD6BL-mql{nM2hA*m z?@{bP)1Bmut^@B6-UUl$j-MXJmdBbigDC@>u@p})X`P4&A3@Z4_~Gi#{mMK(;5>4xuS*n8Z=I7cQ;|!Ad^IR=#Y7O=h|)D zsHwu5$Zc8(n7HN9b{{MW$le)*dit;YYrvmox$+na+}gncdl0K;P?IY#WgRT`6RD--#9x5@3Mof zvBPbwv4^!&iVMb&E^R?{3GH+M^YODXq-d@@Eyd{?Iv`9yPG1#3mOcP;_tqSraeFFM z7VicwU0`>-;}-@xkDF**ryiC$c0=TLFoQO2_c%b8Js9WFGoYxMA=r~@LNtGi>s~Ad ztP8#W?Vn2-+&w-zFy<%n`l~Bs6fQZbN$4Ljb>$3bdYgf#{vww($n&{(!8&3$k%<2u zu2-B1<$GrJXl+oKVn}5gk6M3`h3i>?t+{1y+~4G-=-p$Z>Oj{Nf@2nO$eEwkoY z^2r6IfF>&lUo|yN&!5lq&U1SB^yKR-D)F5dsl2>69~s;MV4YfS(a3*rAr2C~Ve>+@ zmcT);gZ0Ui6=bk|h)Zj#l{lCLkC0f@JORofH)Fz*9J@Z2E%EsInKhP=`EGU(HHxz? z{nOK$j4^kR_7U%h=Jc905NqEreK=oUSFl$xREX zMrlpyFyiuHD-E!wfA~JhY!$-__&fh*cdrk;8e%!D^<+_$<*MiQhgdIP(&L_0EGfHo zMxauMf{H-@@enffm=0@VK=~S&3JZDezb1mdh-C>TS8W|LrZ5{l==0xs=11aW26@<2 z6f@lIka)&u8b6vj%VKT&pw-=D{(3-Yc*cBv1aj})>zgS36{8Wluq;uC`=AYVfUl$- z(a=II4xDO&B{6x`8k%l4WeX1&gZyPc4?ym|mR&qcw$62_N^u5UYcSehu_9@0MtQTR zOuGzbef;n2$86>3CPP0uZ$D-u2P@w^TF}_kp3!)~F7Ums~QCA4ndG@+f27 zsw{MVEwHBvD5;{kh-N-pLio8$UCz%Sx+}Pu$2~qi4(EIri=8`IADu>hJ_0 z`LPp4DLCc7&3G6;X)XnGQovjAPq*?dQQB$v4)&;!cLb`_8s+;r0~azuk+Lo;J`D{@FvQE@z{kmC+7v1Ia- zc_)h%4s+uSQaMr9Lah{(uF=E=)Fi}Mk$oLC@vvSIi_U;D%dL5hXa14-*{p#0nlcF8 zEqz@yLMd;&W5oseu62!gn3}Z2QikBqw)bH(^Q(B#Zm(KvYn3dZe2-d&ba2HJY6vkQ z)|RC8Hn{eBi%h3t0HXJ?C#nnM-HJH*$v}{MWv{N9$*8%CmZ8gz@xb92oz+EcJjV`x~;)HtGR};rg6i>{f6{z1@mMI z5Nmo1Eq4w!4HiEYxI5)uz#jo=?7^Jnoj=RK{=I7eGI=a~wv4YRLx#0iAF1tf(s=SS zGoUUZnBA>30bpSz$dt6tDfnv^n)g7fDgZS-Cx<=6`Z=&M8Wi5i zy>I(ISct(lWeKf(#0tZP@nA~(RL6VOpX8b|C4r1EZsqILYv zDlz0bcA&S{x7UM~c9*3@xmF!{TQQ7VT5<_axX5!Z4D9NtIEbarVm@?87frbFcwxgl z*4e=(Nodkg<+IUqb(WuutJvo+S&BtsmM}j%-CEDN!ge1utk=QH4oP15RhE0TuC=!4}estB*Bmw=y;&9@9GvQ z!a#CKfm#C0x8(kSw#nDtH6}sK%T;^TWh=rcG`caa(K0&h*KYfjN_z0c+G`d@!8Hc% zG0YQdg)1|X>-E9tB7bjCNj!tDwUN=tbL$wqn-NIc_sBdQ0H}^TGNvlcg^u<2sx_Y5 zPT44HJ-O%dgt=jN4%Qx4#@FsV=lNbQ?uu{p9>5ABWTIu7p3WBp6UL4UZj$Oj$i)SI?J}vXOvsDY<*S~|dhv()e`C9l${Buv->BWHqC1qFV9Xwq5LrrCb zOv#^v!h1JmJ;qU{Xn;=1YNmq5YgO+16f9p*qZ9AzgQDT{PVP$Q!=~7etULqe0LK|5 z3mD)Kp>30RDr7XHT0oAK%I(B7ZcB|PyOi;ercLjLGhk18(~AF$3EF87^*kY_bg3wo ztsvq(z>58mH%Ncn`!W+}Zb)|UvP6@+Jgt-cKyIZgbW+M>P9@$Y@8N&LyHG2^CGWdfhN}Wa=H4N=0D@w zZN#DCs}#&%1eh{CNG&@#H+eVlk^maPSGOM_+;92)!{jY?+IduH&^TF*pAN#oS9I4H2mgP@eCtd5R- zk41uL8_9L!Jq}yDTS%Aa3>EeQ;Hd<2)@FK?1}Pd7h}35t`=}wRrHxb@=7FN^O(K*G z=oq;-lpW#uv6;TB)oOqR{r-fYad}4%A`S9fm(1k{%Zh47G-!BPJM(PL-tWYr1d~E> z&V0DA-*vf)#n#tI091@(01GBG^}F|zcH;fy05S{o`ydD3sRmFL%%KGggsv2Fw#>Rt zu4nsmum;&pfp_NEpP9}Fa9>7{6`*#R#&!Q1f$#X)y*bZUw3h>D%T`F7{Qwc~y<-L* zD)i!6Gra`hu6M!PJbnirME-BAU+xJUmYL#fr@yyzY5(I(&KjR#QvmgQ)m?&08{KFb zN(Y1p*>g-V4vdAzwkN)+-z_G@GW`Z%_LY&J=Q?qDEilh)`4c{3{77PKR>?}xw!>;C*}Rs!Jg@S<^iyX>bPj24}hcGIRLVyni4pGm_G9N zS;(Tj;AjjmfHs{w`TMw!t$>$g1w>c|^WrTT7iPIgCIfI@^o40H63xl`7Og0-Z>aj8 zT9{3IL4dV(RaXdf2cY?Q-5}831#&Y_-whxOJ@8WP6Hb6a+eaQpby`QeXI8F8Lq&@B zYhznZ>`}I^`tyxga8BKDGt06vE1csRc(}@9nuZSo=nqY2shff6DiU_I8dIgpE5jNZ}W$G`X&{pJ7t*QAC#jthG;W)wY4>$03`7xj#; zySYacDfwqkpEZHA-baG1_sb}p5O+~<0%jx`RlQFP`d+|q4~+_Qx~wN=A&W`Sl#NLd z5xpbRPJ(Hzh`zsj@63eq{CG?Vg3j(Nl;&_NjB&HPCZV-d4Rp0J*9;O$STpl?GQ;(; zntQ~n$xnn2tsKwx)N|#GBTc054%%E9-9*eR_r2Zu9n;6^>nHndCTM6_dHlj;tZV?$ z$ABbXAKf=HVEq$JYh1sYv{OBNi6LY@TjqDqhkuZEK92c!^SDn8{mygpyz=+n19ta- z!96g@*9g8k&9PkXy??gG&fuCa)c%6ytk(CyYDr2#)DX*nw@l1i->o&uddmERwfphY zqgY*pPe>V+9IK*nwPy%#j3+?<}?)!KzcIqAQ1hIt%%HtxHj)oR&eGxE9f7DsR&hm`{03;lt2 zz~ux8a8;WdgQ0DYP$9%H`Iw1@_FwN^nQnb9Mmyj|c^!N&U?@n>@0|vIF$^ZG5Ckv* zMIXwvl5O`PIG&-8_%O0})d)~0t7#s@vP9VumcvMFk^62bJ~zdDw3%SsY~tjPqWXRD z`f98-uNN>=G_h^wqEHj6TFfp=gjiL+*91Ac^w<~9VNar2Hx0JE89|4JxJwNi*Mg0S zy}fM#NJ&lQTz~E1;gLQ+J<_MAC;1J}Py4GXq3Sf#VeY#VRiuAwlEyCc$KmTnbY1$# zZB~3z*9PS=6c{aQp==r#fNyTUQYY(N+CmjLdvf)rg0b>Jw%#;Sg;8Cuy`j#UK7Ltp z&A|}>^A8V05!sZnzJsbOqx7ib`X4%P~rP_b8EpWGh6fc4`)I0S=`O#B>P|jB|rBBGLz73 z(26Ml8iOZTLza||#rN#6;T^Yg&6IukcNZ)86ELyxqz-ie_G7ZU@?-Am#imu7~!eI2xcmdzX`>p2Gxa0DUFx8c}ij(^V}oPRykw zu+9+0{fwY61ch8><_M0^=O?#(T3X zaAEp^^&g#z^qr(e98nB}W5}r^8}p6K+O_DoD97$sLhhdMTd|B)^@5=L5$_XY00#T( zf_Sz~c&gAWKgZnGx2>VLlqv{b79}sN%6I98!5+_hU5mQP)}?C3?PB2)weED~;={HU zvOm=_j@!r^SN=6uM&`xlS3H$VfQ%kN$4ZppGJLu|(&NJw6!76y>P^mGtKzD@^>+-*KwGcK`Bvc zfk+ngPfw4U@xlP@xc}wlRSsk!^vhhNewzd(+BlhMOAG{S;vl%fZ9Sfj=jRQc$~Hh{ z>Jk6pR)claB9Tm?+RExoN8>bT(0p*{RM>>oPlJ*d8QbdtEIIL{R243d$Gnw)!wN#K zr7Fl(X3Ar}td*7oR>bLG08p83AKHmQ3s(z9aqSUBIl&$^Q6^kje7M#H2?)Doz;*}8 za6iIrENjq}7Tm%Bq1k)%?<~q8ua6f=?7{j-rEYLOJAd&I zo7B}PXy`$2>E&`A5XSx#Ql-pQI z{ISkQvRg%N=^4J|;#$1-FK_hu(y`$wZf4e%&K zvCaoRRvQeTn=305d&D=kB(uRwMK1FDk9}w3!y?K#Cy#|2^sxUDyiU9t&xnoXp^L5x zS0VEv1&S{RALR4AR_(096XCMZqG*Ub-Q>G04|#5FPl~|t&(EJ%2d%6~aRF(#AW^Rp zAprdMX8T?;dR|m<=Xc3mtkMQ#OO7)y=|8H^CQn3xNHGvd5vN%U?f0T{xr%&OC5QPQ z&z%)x#Vv1I+pcK;+=l}TaZDdtf0cj#KmYUo<6r)7a=04{f(q*y$8ebtu-GK+y{Qzk z6lk{Ofb9Ki!LWrXaYus17#dMl*pt~1LdPvxEks4@9xJ8gK?3|~nX+QUq=KkWxDBB0 z6cd)N5kg~08CeY4kZNCSlQsrIumq9@I5I)M?Z((eh%5x_1LE|cDVoCN0*{oIU7&Nn zR6U420!n*we^3Yt6)e^|sFX2Rc8pZ*dg? zw;MB#k}}C`PpMLT3+688W!3sf+ipUsjaG%szyt)F<*seo)LMJ}6+(v%Rg6+Q8kg$%U;56Np z7Uw-mQfyc&)a`QjSO+xU*gh3WNW(nRvxPub2d=Xlhm}$^1m`!l67|nS1+hJMx6E`k zQ$V{}LBJ>F$eQw~fL|3NR!sl;KmX~Vxi|Vp|K&dv#e!)?TVg4o+P2+!ZIcXcbz_!A z6*OK7whZn7ab4G#&k}=WF7C|MN*=DeaEX$#5;Wr0C{n=O%r3lI*b8{F)P_68@Nl^} z&nlMLFepMsn`F-xKtn~=0RbONBjamSJm^dTNw;=HrX4J#lnpV4}^@t!f*JQ&(i3fE%_IbH&PGK0akUz zkl%A*%MCmnCO2wwsft2xS(GgE`MtuMSk{>$EeZ;OzSNRmZNAL2K5>C$0bcy`!|^O# z<0>*~H&3X^a|g3#;WQqk?|}h9t#+Vg9`oB!6uL?^gO2$uO$;!w%$FX@AuB>+?GuYu zQ-e%LIU_X^s9|U~Ybxxn;9qJ%HtuZ%Vf4hthFw7huOS1PTmNLH&R6$hEycQdG5*8<{y+5RfA@bVGvReLfhKr}54)g5eJq43{_Yf7 zKzw$G>y*t2QonQVrwM@w;n-VDN(B&WFd8eP%)R^O;hoSl@D3Ji*UMEK%GVTM=K;b< zOEv*jif2wdgz#l+-5}KR9;O4-$KSZX32+*Kru(=M4={J_ z$eL!386?VU2Uh|Bi_;q6v(d!txQ{^zEXak%du$>uSf|>F!&1ywPGo7_nTC94O0D;O zF~O&R*MMfv2X*|nFraC@5DPSbAu?v@^r8PzfJT%PC#uaCKn&mDTJ+#xx0YRF@xDt(i6bR z`>&S#)p*_J&xGq$ga+4AZEMU1-R-=eLRI82x6SZzervD{nm8&dIaY?qW z?lmxX*+pAHxS}NOx~@eC*a5w{x?SPy(ff2mmVHxC0PWp)J13-(E1vxS+GqehqMR65 zgCSl)SrhtH3!pv3KqdpQZ76%xTz+T~>FVHwmlxK)K3T#vmaRvPIoo%`na8SL#8Sog zzVIF#AAbJ)S=M1~sn=@)w*2>Ni`YW3Semuc$4lmlZINImK<>5=XYh86mtFWf;#9lR z^5fx|TVy#o9K_DPxnX7fyUzJ$mfYR3oQ84iyJl^&G7kVNdv(*M0RpawExs!~fBX6H zAYJM6BiD*+RzR5~G{+>LdUMv|As1=@N@uginuB(rtjW1H+E5t*>scs(v1jSbHMQO` zuu``)JOqRzuF6VlW=k(={mJ)D6B`0Pln|sUhkZi|{qU5#IvsoW$AA4l_UC{9uXR%F z)JS#YxOk~&MVc!IU;L%3Pa4ypjoR;Z0nY_M!Jx%#eY>T=#3;N;LO9i9LG~6^l1mA# zNUdB&v|=&Sl7$&fOTs;>|hW95K6d2BL&xRE?)|(DwleIxTdR zjG$07#@wwz&Hxx={p%8S4!2F+oim+e<L+?<%d67s zDj>ChDsuU;lFmP$@fH}XXAN$;X4+elQAym;{sMccT4rzMNAu%|+WtW+I43m00G|A^z*;r^MWU)h8Bim|? zjI>(Z>@6F~T^25@Yhw7!*RRKTWiHfxE~fLyvt`pt2$PrBXJPp65|Z{Y~ESYv=oGu8-#ZYrm6$3;2%z zu8!qzV1eYW8sJrY%>wZ}rdcVd9xrtdbm3jn0&qRg@0ZqEEi~ly&~irL5I>6;Ci~rH zO0S;jc<*9LI0B}lmLadh!IzKUy?%QhKonoq;{R@~C&9c(u=#dt9s+_j107*alpkum zq{n`dCT^&bzKi0?imF(Eu+B;L@O2SBrXNZ?(@ujoBySIDXQtI86)Vl^;U(`(w>UAj zI@d!nUW(N>EYi4sy;uYFx6RzbWspsfFU*fQZf-Rp&Mxl&s3nr$B)Me^<>L^?x0@>P z`<`op_DRw1GPcLm)(&*`-r03|oQ*H?Zw-CfXixTkTPIrl`5sJWzgw3pX>a7sUAztk zs}}g?Uf->2eA>;tO4guLp3S$uN%G1rBJK5f-nW-c`E|CMT#Du6>)YXGe>?!*>$9xal$!t1c+V7x4mXJXX7_m5T{{T?S28uuLjtqThYjR4s2-=V5t+Xn zLGEDK{D%X00oF3elUFp|DAu;rDwvtO{lO1)Ow)$Nty*gle2>Y155$+3pKZOCfnnBF zzl)km8n~$kt(axC?b?D3txI&QsY{0aDal3VghN(+yud2=w+C|BlNAPl7vZD@uDa2x4ch%R7P-t9GeE+3rA3el zUv_zl;>ZaoWwfG8S*cy4(9r8wypDSS2i5S+gDK~09Q)HoYoqi2pADIw*sE6ufFF*?pB1Ai_C%~8NvnDZA$A) zmP8fu?d{f5Je+2mt`=8_M5u1Ubh~v;{ITXpTeCJz0=D?wTBV>(#*Wsaos%T!Ey?1t z)L~X@SrRQ&ih7yT{1crBs3>6traoGBk+sQ}c1GAzcZ38G`)q~mo^&WOW!0p(=L3xW z>F00s!V1OljHkyZsSu&`aiizMHT!zgiVA8xXoqF(N{^o(4oe$5k9Ycf$oQuN&=qz` zTXNp_hikn)aK`7A+OaRJbi8m3=P{P&x1Ami3myYH!6v zlgm*pf|XpggDPKy0pEFS?j|(melz{jXcE@P7Id$I`_$98njy|_oe0ku6o2Pv$oNwT);qO#>0#O}Eq;;brB#rzN)YuLJ^Q*XG%`H((Tb+ms|G=;6>=8_ z#AOw(SJke#51U#UHAw&GpI_*&|M-&->mPpqJ1OIVLXoV+Tn|EfIDGq`KYx;SgnL6W z)Lba&!IDfp3l?53MS_bZvujtN$V{8x!xP|av~U}9M%}Axi?T{qi1X$6{Oi}RgcvOe z!WQe@B9=PW8jIG-5+KU}nS10~^=*Dfwr(JXBihVpW{$*F);?Ggpc$(L6xI-E%USyB z&P2VhvF;ApK@mo`H!r!tL@ymvtVoQoZ>CFk2k3{b*!(3wy~&?mqwIp8I3t@6fm83^ z)+U#@2ymcaUl@9szuJ8+n0OZUc|r7S8W=A4bVN}QoM~vom8}W-vpqC^i0{%nfTjd^ zK`pGXq9mX}d8 zOaCsJiJIUQ%65P)6EW)IG9fLQ^>+TaFgzZsS?BZXFlf3)yM@SMqlzvcWZfRyAKj)&?Mhcgk_@K*?1p&K+P zCwpGdq@LYfg2@&9MAB1h@k9=NlbA1R1TO_ZkGLRtT}W%xbz3-ILXMwfcPbQQQM4`F z8i_odw8fSuj9lo9OAxI~N(ce&&;&H!O9AQ$^p!pM5c9bP@L|R|a<-&x z{B8~9HSQa3M_+5maaIJ#j2e9vkls6IUN4>$skG}~p-rZN4ls z2DVCj+C76#+%k2v6*&l5ATqYvp~6a(M6UqBTFnCrAQp@) z`rmC1;?Rc_3=T05@x;;H2rC=cFJh#39a_rke-f+WKmBL_?E#L+QvXdm-nKy6wRlr)FiHMd zErVS^ErTmgs_3Rs^VoPTum@S-K>OsnMV~)^N2m!WX7V>qX%6=`=9%}gnCl~3=kWUs z+VMVjIpN&b;&pKV2Bo}10%Zb-3~Zq%saT2G<#Ew>fVlujN&tD&*a!jdCMfcu6`E_B zbq!ZcH-MpvhbE}h%bn)o`Z7ymi3^rX5uV#dvrEb6l-8fGx{mJv$nIA0djKutjlr1G zT6dchn6iF$p2ql{u;_GWCf#2Gg(A098i8z&G6rNk1E9+QoYawG_tv%#F-Jo@PHPT= zWN%CLEI5w)Yzb)T9Cx#RXlaN#xlG;aCS$3DWB>qo0M3}pm{^jQ+Q;jzyTr_K<+-SZ zW%pQ}-Ab~|>kc~C7XhgB%lIfe~Yl=DUsVHr&{#<~T*`4Z7 zF@Vgx8s&TV?6T11nsq3hQBDeqg*@=tVM73Qs~v|>6(x8mSTR>C zDIO9gbnnc~5zO=7OGoAM{r&W0!`roX@iYA=Fol8kSO{6bVd3Za~Oj zJ$pIe8Hr9TC0PRTJ`y)&EgA~5dw);Vx%@03u!q-33=B(gg~a>p7HvUR zjCPtS`c#6?G%L@gHSMPHOguC1mF0^Ym&pZy$1-B>T z!jb@idS5X`5pnjrKbt}BO26_d2?6R$gJ7WngRwU&4T8b3MbGO=8PXI+!VGocL%Yz= z2iW1IyIz|B9yZB7Jw2#-v7+2W9tSg)rvs(G9w6q~+yq^+TBHUXgO>v_sWwZ_++U8r zxwgz|2dav-FS|w}_*Kw;izEd$J-dKdv_k}ck(t}?*$Q_M*q1Ngh>{TGgUdDQe)!FA z==&c&i)zPpW^Qd{_9z4>7Btpahr?M0;lb}`An47&8Q5$A^BD~08idT?OoC}kmGpGA zv~@Q*OQBfe$okWf)@~)3$T%yu*s>Ewm2JvsnGT?PZ|# zk%5nlA9U0MiMpHpqd2(j^^MYll;K#65kOHM?{KBhhM3Z-mOk`Wyf=sZ^SzLW0?xIM z^$wBBPc+7uWlKzUMWK?qB;y=+a1m4~HDqB3s0Y~%91U~iXBqI5=N59ShJZtgeb}s2 z3Vu&%-GtfhZ4i*gZ>Pecg?mOB}g@QfP90NE>f+%d2kB}C= z?b0tNx33S*c&%8WmdoLBd6j}K4~J`vTJwEF?Z|Exp{Iw7E0O|;g+{t$Z`OxT^zBgc zx%7|po$1w;`?j}}GMVQsa;EQhf1f`?nU*}KoOG7I%Qi1AUhFcv_-SaU(zomD|d`q+qlYL|`)T`J3 z#F}Kco{WD|5b`sA>Lsz%~IWvFE5)cJbdo8l6Okb6nX$7b&3A;(;tuT>}rBvyMTuu zzJH=mPgfni_?gx1%j4x|XfaZtXQD3$n0q{c$=lm5Wl0zaY9Y{KU?Mav2}V8sW}sKJ z`X-^r-crZ-lHD|BFh00T)k63p@hFl+zy_WI@c zvpCB4O(N0?=4A02W+@b=)^Y)5-36(eR$%Urk_b3(nxWP0AVsjU80M3Obha*laNy3V zx%`Pyh(5naTmn5(STfRc#7%E8CNe*>1xqOdOJ8T8DXyZL;t!hER6-3wj~~pjZY2(C zwfGm_qt{n;Z(htjqZvsGK8gsqh5nzv{C5Yv{Yd}ppZ+)W`H`)u>TbY#VElL=`rG!7 z8JYm>nkmftz_cA_8{HnU2q!uC&M;=Fw);3s=-10`BODWb1yA)TZdCP}vRDX#3!9}{W&Riwm>1qDduf7M+?K0$GI(MIqpLLySGjJ{? z$|4}s3-{*4n`Yy_r}twYoz8=i4e=-W{`rc)c(nknIdmjh_WZfUg4bIBGtm{e&eZFx zgW+oR)Nr0->oO=I>)xWDd1;AMs^#8zu{Sf&f`D4AYlwhvvssiu4v^F{eBh$ZJ!-p= z@f-H0%$^raw)b>?2wobs{$19^l`#d^HuH}7J4?{w@tY+{iY9;ho_>1$BbQL7rD-8x zNmv7DaJuPdU}^tVcYFZ4)4IS4V?DE_nDCx4`RmOH$K)ujyP+Mqes_Qvu_evSj65UH4XsJ{!^KyqTBexJ`YI|4giu zKr%7i>@E+{YdGQ;F&xn{EO`*TW4}+RI#_ImS-f<;(Cb+D!xT!>06D3IQOr`X&Q=D? z_8^MIlhdN}ZHm}7@E5jNN&|WU{+sbj?cd&5fvi$nrk7n7cCALd&TtX^6tCagn4F-QkzIg@FjpxY z`6@)uRv)S5W`~W5r-@fz!QWr~=PyzhhvUy4KCQBWwLa3P@4u79WQ{-+Dh4c-fzK-1 z-cNt}LL4Z|LXE%w2tC z?T!l-zi(i=#^f0kycKfm!48gEvzsd`16|Ha$wCtEf#pMh6%DRtkwK+8*qg0YOA3eK zFox2z5He_4RwbizAcT%1$<7@!{A3gs7jN9Ig{b^eDHPYYT;G6 zOo`w**!Q)JTUdq3WMJr>m7+acfa|^W!Fno1s2kcBhDA_;7`ozY23B-#2w6ep1+MuR zd|PX+qEI}u@y$A!XqOE#D_35Z?khKT>8XRB!LNI}!PQKOE_x^$)J?R$!x!Al++E=z zQ_xVHI=j!o+ttEPX{-X#K$~&uh+ry&#R%y9cr-1JVH8KCB9ZuUCd}H zSsWNE8;bZk<0`>BsE;kW`h1Sc!2es>^DmtqG!9d7jVJ4{mh|w*L3kQoDoe6!Z@z5{ z=D?q8`4DBo9BiLssrHr`sU=2KlH>q))fH<~)3p|jSmX|2&WQm({N}T1in?%r{hxoL z|MVX>`UijbEj>uZ>2C2(JAHkAK3teD?)KEm*~)NvBcC20=;2ALP0PV)%`F$oWQ)7C za<*nomJVnG(DH(iN)T7?u6eT?DO|A47oL+5RDiD5Z%&y%5(q+=;=o`_$>T1>s#!+i z4ND%`czXIgTuS|<0pyopK79Ynv8Idl;uHZ508`2!?88c>f>qou=B_0>L=*ls;F3mf z=I|`|{6JtSI<%&7UlagoT|hN9_Q=M)<5qG;bO5*II2ixJN8Zt?BVHHUrXNFnPVO{<3z) zm>&+XcCj9l1E8`w)iq^~m&v`Hg*o5fcheY=*b>4MS%3F3QzO}7c7BBA3H&CnYo=*v zxxeO`m9TyXiM+SYZBLe*=@}z#aEaq3H(>eGaEMR7PA>R+3ffN3#`(^m)jy-C>9%ih z(Z<*Yt7iY${WF5Vh@VtGwo5!5%K-pseOFCM59jCkyNLzN!H)~KKhzkseC999<@Eiz zaJbz6^{2!2dU!l45{J;RoaM?UT__|p#mlPbbwjcqK%!;#gSM*cT9Fh23turg@$&K} zJvGT%42sc%kVsOn=R#yqK}LLVqk{?2mt6%qM=Mnd0jIf!~OBAYSysH3V!G6XCyO> z+1E5#uP)-*BijS{^!)uEo+=bk7ustI(xFIu(iHQr(rE9YWP1z<-m<9or%>$etn}%8 zLa~o{y`by7UfDdBX+HDr9J9_eD?O1fm$5i|ku(+4#&XwyN>(@RqE>|bhd00P-ZU8l zQ{~BGG>-p0KJg*Fn0Y!}d&{ckP$|}U+|RLI-=4pc9t?K3RRMoL{&A;2{prx;ZhxeI z@?Za>(m-Cp;HhviA3my9@5~sG5DQV-ymTP2+3CM!9hoMWWVd;t z-H5oa7X=A?yR@UCG7t?JQHij(EI>{ISsyM06s7T72Sd2jp-?9!09z991n~=?Ec)T3 zXbdGs3OC)!K&}+Z2u{b3=E_UVA!)8yp0J*(1_fah!pYq6HgqA`O|5wn03dCxa@id6 z_Hl48=Y4M_(Sb2>=Y(NHSD=;{uE$OBJ@>*!61`Om{+D-`dGDsL*;==Kv|MK4oB;=f zC|hnb6WZ^&Jd3&L)8Ga=B-M5u1PZvo)*y?s4rfot+oK+2t)>enh6v5k#z1`*7Djve z1HE_M18YD+=Q0E3{{8b^#ic*N$~wOj&tW?127rW*Dx-Xf{2oKy$)cS73SC18y@hkkPhIefQPFPNExIp zKpIG zXF#vO_96eXZ83KN2EYg!O2 zP5?X0=O|_Hi|^)gf?(YZ07&3{Gt|DQ^^L7=8tndR6J6yn@d0FD`18+S==&eOr{8`4 zUaUOaCYMdO-@d&NTX28+LMJcQzRSSO zqOm0~oolMI_#q8E#~OGg_FAo-)0mPkWdb-preuMv0=2}A)YDjaFFGYnqtj4XKT$M! z*~LQX#N7K^gPnc73JuyBRBC`)N+7ahu!zyKd9XF1r#KSyW;MKE>vQt}W3t1>B~`q~ zDuf+{R$WZ{!`Qf>C?(gjn^du}84w!?9IOyMyO+tqVrI&sQChpCxgxpG-?U!5HWV^) zAdKbKCiC%*Y+b`M*UaE-!CF&y_+p&{ux4$CwLXfy>iMz8?AAF(s@5lWdKQF2EoF*D zi|un@s2`Vc{doK>tOF%&GWI$P;CHW*V_V|0{C(^_0@CG~%i{YY@0a@{;~Oq~Rc1`7 ztYeKk%rOHpAA zcy*A19@5xL#CT@|0{?2;R_R-P@yY~u5?P#Qb_ZcXSEX7DDnC{6jXV5epcOZAkOE}4 zR&Iorbo$lI8w~`eEZ=xV9~68&2MHWfc+rGX#Nd%*C-J_SACy5xdkaO>icGSwabHyJ z|8|f>afL_S^`>A%KA+1cvRk`Z4fkfDExc1};0^)3dCtdoR@QW0o?oSn6=(G^jUv-i zg%pKWP2|;t1uY6euhQEr77>HcLtAW7xDt4|YSP2Y%Z*-d-wp=!AQmllIdI@SA2_ZR zqxkUH$lEjh_Pa-VVCG~oQB@Xd6PGL}7;uwbu3htRnBE__e}^oH9ZZVK|Gph1+==0m zONiPRr@PCDui5QNwt28F1X$@#z#yLa9kZYs#y4q17*rjpRW(E#+nVQ5idU3gC55>T zZDRDfhzB4qVKQ7y+;&Jw4UKATm3Sc}5j5ADM60=8Lb&mobaJMa3-ki)b_1s{4FeE| zhH3?V3F~N@E|F(Q4(kSHg?CJQii6e&ht{Zrtw^?Suzo=MQCCPey5EH^jTaN*d2Qhb z5a%d~fTc``mhn5dA+#`@mbgdjgzW)LC;+hccx6Q`8*k*?Oi^oF>_Xd&PvEEL>NN6r-`z{;NtDYJRTWL61l>sO8lOb3%^4?YEps!&CYQ3iUT2d zlfvUQy+&KoU`1ly+W}5U;<5SO8*O5-m!iDZ(Lx6U>jqi5hZ;b=YHS$9CrL*BsxpW9 znoKb`2G*C7!gHnpIstqB`-YlwWFDbKY1E6}%XzI5K5?^bY|LHn(?Y=yobV;5{Q#Jp zNxUlkpjyEz+Kbi2Eq^hV?CK>7K36DbEi16R1TUbO-eX=uZ%~R!yDdpNV6p7lo=bIP z!^bQK@o`C+uL0akZa`qlZznn_e8XOV*QEQZdCLT#Iz5ju-P4ZJd?~40s8fRlm7LF| zw<{|fSf!pvNsy%I3+xYm=jtU{^@`yQ#|@}ms$Ra;d|`4p_I?w~iZb9u0#s23qgsgr zn7kF-sp|`FFo;UtP_dL<78~br*bZWRet8ya)u-=1AMVsQ`g;5H!axkbocSr6yWBBRi!cuNpKelDy(kf9{@zCyGbygsbn9=1whS1t z25g#@6n!*8h&4#>vr+gnshotT0GGX4jG{74E>ED~*802h8kIOm0^|$~_a1<47(X74 z^(ZAVAq@xLdnBJA(-SRMXacuFxix@XJ|kkbPbD9+m7`gaMj55;(=PLANh@p+RRaUb z*@vyG;*-w>;v}l|0xTYTVM4EuWj$h#bnRq(_&wa15c=JI*TQo7X60HmhN%14j047! z8F+?(19)aZj$*!<4hkhemgq$^XSCcamSNi|D)85E5$YD_7)o=|I7A$Qn2(FbtB*rC zF?ReBZsg^I=;S)i-~Z^`#q)?}B|)0VCuJ{>rJT-m@ih=WWN|JcM3>ct%`8~jWHE=E zX}3h9YGD9_w}8gprJg`!`|6fLE5GphJ1GDr-VIjnZ?89xx1x@ERS}cNz@05&H?)@O z5Soj4TGaBR`yQ^b{=wP~l5e=wWuGz_3FV|X!7OTUHh_pu1Ak@NCJ9_=FSJc$rib@= ztu5QHx-#9$xIupmunYtNglnk}vN*cY=m3y=v$}+=CVon;uTp^_0G5K~ zmcTpW&b5GVK4WYw0jcT!T2dETLcwwdr+TkoI2ki4D(o2m4s>`1gZX!wP-SO_~iN9X5?pcndo7H=C4}$>#=TitrX_qo*q($!;qQlAg~CD4Sjfy5|su6 zYuSp8(_URDAn2C^rE}Y(48Tg7m#?9XFtnY-*g_Ii);mJ_qb{95|VKyOduDddHW!`1FieEF}OF|(Kf(96>h&O z#!GjEFn|%{Mb&sXlJZzrHy~(e%W?a`I=SkCel@}bG^?~oyDxp8p65jX?Jmva7w#^! zwRE^Uc>r$F4HJtwEWJV-NVchBEOEuB0Nh(=fdk|%&FUw1cu&X`zU}R1we)sDbuEFT ztYk0BJZvwlEQs$Fd3-W=Ws)!;0lkZqi^6`)aen-G=`_-MluE*xv-e}3?3shd%##D; zo^k?oCqX;Nj{t0{$SB|7F}!XHk>i|<@(8j+t<#|l%4l227*T6O^hr4w^6#ekFB-co e7T%^|0RKPwmP;PFiOd-Q0000 { + const chessboard = new Chessboard('board', 'board'); + document.body.appendChild(chessboard.createBoard()); + + it('Chessboard should have 64 squares', () => { + const board = document.getElementById('board'); + expect(board).not.toBeNull(); + const squareList = board?.getElementsByTagName('div'); + + expect(squareList?.length).toBe(64); + }); + + it('Square d1 should be light', () => { + const d1Square = document.getElementById('d1'); + + expect(d1Square).toHaveClass('square--light'); + }); + + it('Square f8 should be dark', () => { + const f8Square = document.getElementById('f8'); + + expect(f8Square).toHaveClass('square--dark'); + }); +}); diff --git a/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts b/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts deleted file mode 100644 index 82f2e18..0000000 --- a/test/app/view/ChessBoardViewShowPieceOnSquare.spec.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { WebChessBoardView } from '../../../src/app/view/WebChessBoardView'; -import { screen } from '@testing-library/dom'; -import { PieceComponent } from '../../../src/app/view/PieceComponent'; -import { ChessBoardView, Side } from '../../../src/app/view/ChessBoardView'; - -xit('Showing piece on square', () => { - const chessBoardView: ChessBoardView = new WebChessBoardView(); - - chessBoardView.showPieceOn({ id: 'A1' }, { name: 'Pawn', side: Side.WHITE }); - - expect(screen.getByTestId('A1')).toContainElement(PieceComponent({ name: 'Pawn', side: Side.WHITE })); -}); From 6698c0b3d36dff1166bf39ce46ad20725a736a8d Mon Sep 17 00:00:00 2001 From: Tomek <50457289+tomdworniczak@users.noreply.github.com> Date: Wed, 3 Feb 2021 21:28:47 +0100 Subject: [PATCH 061/134] Extract universal methods (#49) * #46 Extract universal methods to Piece class and make Piece abstract * #46 Delete unnecessary methods * #46 Delete unnecessary methods * #46 Delete unnecessary method * #46 Rook refactor using universal methods from Piece * #46 fixes + refactor * #46 remove 'as Piece' Co-authored-by: Pawel Szambelan --- src/app/model/Bishop.ts | 29 +---------- src/app/model/Knight.ts | 6 --- src/app/model/Pawn.ts | 4 -- src/app/model/Piece.ts | 34 ++++++++++-- src/app/model/Queen.ts | 29 +---------- src/app/model/Rook.ts | 87 +++---------------------------- test/app/model/Bishop.spec.ts | 25 ++++----- test/app/model/ChessBoard.spec.ts | 18 +++---- test/app/model/Knight.spec.ts | 33 ++++++------ test/app/model/Pawn.spec.ts | 28 +++++----- test/app/model/Queen.spec.ts | 45 ++++++++-------- test/app/model/Rook.spec.ts | 5 +- 12 files changed, 119 insertions(+), 224 deletions(-) diff --git a/src/app/model/Bishop.ts b/src/app/model/Bishop.ts index c0b6545..d51d515 100644 --- a/src/app/model/Bishop.ts +++ b/src/app/model/Bishop.ts @@ -1,7 +1,6 @@ import { PiecePositions } from './PiecesPositions'; -import { BOARDSIZE } from './Constances'; import { Piece } from './Piece'; -import { columns, Row, Side, Square, Vector } from './Types'; +import { Side, Square } from './Types'; import { PiecePossibleMoves } from './PiecePossibleMoves'; export class Bishop extends Piece implements PiecePossibleMoves { @@ -17,30 +16,4 @@ export class Bishop extends Piece implements PiecePossibleMoves { ...this.lineMoves(board, position, { row: 1, col: -1 }), ]; } - - private lineMoves(board: PiecePositions, actualPosition: Square, vector: Vector): Square[] { - const nextSquare: Square = { - column: columns[columns.indexOf(actualPosition.column) + vector.col], - row: (actualPosition.row + vector.row) as Row, - }; - const isWithinChessboard = Bishop.isWithinChessboardBorders(nextSquare); - if (!isWithinChessboard) { - return []; - } - const isSquareOccupied = board.onPositionPiece(nextSquare); - if (isSquareOccupied) { - return this.checkIfOponent(nextSquare, board) ? [nextSquare] : []; - } else { - return [nextSquare].concat(this.lineMoves(board, nextSquare, vector)); - } - } - - private static isWithinChessboardBorders(position: Square): boolean { - const columnNumber = columns.indexOf(position.column); - return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; - } - - private checkIfOponent(position: Square, board: PiecePositions): boolean { - return board.onPositionPiece(position)?.side !== this.side; - } } diff --git a/src/app/model/Knight.ts b/src/app/model/Knight.ts index 93e3229..75deece 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/Knight.ts @@ -1,6 +1,5 @@ import { PiecePositions } from './PiecesPositions'; import { Piece } from './Piece'; -import { BOARDSIZE } from './Constances'; import { PiecePossibleMoves } from './PiecePossibleMoves'; import { columns, Row, Side, Square } from './Types'; @@ -29,11 +28,6 @@ export class Knight extends Piece implements PiecePossibleMoves { ].filter(Knight.isWithinChessboardBorders); } - private static isWithinChessboardBorders(position: Square): boolean { - const columnNumber = columns.indexOf(position.column); - return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; - } - private removeSquaresWithAllyPieces(movesToGoOnEmptyBoard: Square[], board: PiecePositions): Square[] { const movesToGo = movesToGoOnEmptyBoard.filter((checkedPosition) => { return board.onPositionPiece(checkedPosition)?.side !== this.side; diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index fc8af91..381cf66 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -61,8 +61,4 @@ export class Pawn extends Piece implements PiecePossibleMoves { return movesToGo; } - - private checkIfOponent(position: Square, board: PiecePositions): boolean { - return board.onPositionPiece(position)?.side !== this.side; - } } diff --git a/src/app/model/Piece.ts b/src/app/model/Piece.ts index d32296a..47ce999 100644 --- a/src/app/model/Piece.ts +++ b/src/app/model/Piece.ts @@ -1,5 +1,33 @@ -import { Side } from './Types'; +import { columns, Row, Side, Square, Vector } from './Types'; +import { PiecePositions } from './PiecesPositions'; +import { BOARDSIZE } from './Constances'; -export class Piece { - constructor(public side: Side) {} +export abstract class Piece { + protected constructor(public side: Side) {} + + protected lineMoves(board: PiecePositions, actualPosition: Square, vector: Vector): Square[] { + const nextSquare: Square = { + column: columns[columns.indexOf(actualPosition.column) + vector.col], + row: (actualPosition.row + vector.row) as Row, + }; + const isWithinChessboard = Piece.isWithinChessboardBorders(nextSquare); + if (!isWithinChessboard) { + return []; + } + const isSquareOccupied = board.onPositionPiece(nextSquare); + if (isSquareOccupied) { + return this.checkIfOponent(nextSquare, board) ? [nextSquare] : []; + } else { + return [nextSquare].concat(this.lineMoves(board, nextSquare, vector)); + } + } + + protected static isWithinChessboardBorders(position: Square): boolean { + const columnNumber = columns.indexOf(position.column); + return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; + } + + protected checkIfOponent(position: Square, board: PiecePositions): boolean { + return board.onPositionPiece(position)?.side !== this.side; + } } diff --git a/src/app/model/Queen.ts b/src/app/model/Queen.ts index 9e1b068..5b3d4a9 100644 --- a/src/app/model/Queen.ts +++ b/src/app/model/Queen.ts @@ -1,7 +1,6 @@ import { PiecePositions } from './PiecesPositions'; -import { BOARDSIZE } from './Constances'; import { Piece } from './Piece'; -import { columns, Row, Side, Square, Vector } from './Types'; +import { Side, Square } from './Types'; import { PiecePossibleMoves } from './PiecePossibleMoves'; export class Queen extends Piece implements PiecePossibleMoves { @@ -21,30 +20,4 @@ export class Queen extends Piece implements PiecePossibleMoves { ...this.lineMoves(board, position, { row: 1, col: -1 }), ]; } - - private lineMoves(board: PiecePositions, actualPosition: Square, vector: Vector): Square[] { - const nextSquare: Square = { - column: columns[columns.indexOf(actualPosition.column) + vector.col], - row: (actualPosition.row + vector.row) as Row, - }; - const isWithinChessboard = Queen.isWithinChessboardBorders(nextSquare); - if (!isWithinChessboard) { - return []; - } - const isSquareOccupied = board.onPositionPiece(nextSquare); - if (isSquareOccupied) { - return this.checkIfOponent(nextSquare, board) ? [nextSquare] : []; - } else { - return [nextSquare].concat(this.lineMoves(board, nextSquare, vector)); - } - } - - private static isWithinChessboardBorders(position: Square): boolean { - const columnNumber = columns.indexOf(position.column); - return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; - } - - private checkIfOponent(position: Square, board: PiecePositions): boolean { - return board.onPositionPiece(position)?.side !== this.side; - } } diff --git a/src/app/model/Rook.ts b/src/app/model/Rook.ts index 8ddd1ca..adaf4da 100644 --- a/src/app/model/Rook.ts +++ b/src/app/model/Rook.ts @@ -1,8 +1,7 @@ import { PiecePositions } from './PiecesPositions'; -import { BOARDSIZE } from './Constances'; import { Piece } from './Piece'; import { PiecePossibleMoves } from './PiecePossibleMoves'; -import { Column, columns, Row, Side, Square } from './Types'; +import { Side, Square } from './Types'; export class Rook extends Piece implements PiecePossibleMoves { constructor(side: Side) { @@ -10,83 +9,11 @@ export class Rook extends Piece implements PiecePossibleMoves { } possibleMoves(position: Square, board: PiecePositions): Square[] { - const movesToGo = this.goUp(position, board).concat( - this.goDown(position, board), - this.goLeft(position, board), - this.goRight(position, board), - ); - return movesToGo; - } - - private goUp(position: Square, board: PiecePositions): Square[] { - const movesToGo: Square[] = []; - - for (let i = position.row + 1; i <= BOARDSIZE; i++) { - if (!board.onPositionPiece({ column: position.column, row: i as Row })) { - movesToGo.push({ column: position.column, row: i as Row }); - } else { - if (this.checkIfOponent(position.column, i as Row, board)) { - movesToGo.push({ column: position.column, row: i as Row }); - break; - } else break; - } - } - - return movesToGo; - } - - private goDown(position: Square, board: PiecePositions): Square[] { - const movesToGo: Square[] = []; - - for (let i = position.row - 1; i >= 1; i--) { - if (!board.onPositionPiece({ column: position.column, row: i as Row })) { - movesToGo.push({ column: position.column, row: i as Row }); - } else { - if (this.checkIfOponent(position.column, i as Row, board)) { - movesToGo.push({ column: position.column, row: i as Row }); - break; - } else break; - } - } - - return movesToGo; - } - - private goLeft(position: Square, board: PiecePositions): Square[] { - const movesToGo: Square[] = []; - - for (let i = columns.indexOf(position.column) - 1; i >= 0; i--) { - if (!board.onPositionPiece({ column: columns[i], row: position.row })) { - movesToGo.push({ column: columns[i], row: position.row }); - } else { - if (this.checkIfOponent(columns[i], position.row, board)) { - movesToGo.push({ column: columns[i], row: position.row }); - break; - } else break; - } - } - - return movesToGo; - } - - private goRight(position: Square, board: PiecePositions): Square[] { - const movesToGo: Square[] = []; - - for (let i = columns.indexOf(position.column) + 1; i < BOARDSIZE; i++) { - if (!board.onPositionPiece({ column: columns[i], row: position.row })) { - movesToGo.push({ column: columns[i], row: position.row }); - } else { - if (this.checkIfOponent(columns[i], position.row, board)) { - movesToGo.push({ column: columns[i], row: position.row }); - break; - } else break; - } - } - - return movesToGo; - } - - private checkIfOponent(columnPosition: Column, rowPosition: Row, board: PiecePositions): boolean { - return board.onPositionPiece({ column: columnPosition, row: rowPosition })?.side !== this.side; + return [ + ...this.lineMoves(board, position, { col: 0, row: -1 }), + ...this.lineMoves(board, position, { col: 0, row: 1 }), + ...this.lineMoves(board, position, { col: -1, row: 0 }), + ...this.lineMoves(board, position, { col: 1, row: 0 }), + ]; } } diff --git a/test/app/model/Bishop.spec.ts b/test/app/model/Bishop.spec.ts index cbb96fe..f82304b 100644 --- a/test/app/model/Bishop.spec.ts +++ b/test/app/model/Bishop.spec.ts @@ -2,6 +2,7 @@ import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; import { Side, Square } from '../../../src/app/model/Types'; import { Bishop } from '../../../src/app/model/Bishop'; +import { Pawn } from '../../../src/app/model/Pawn'; describe('Bishop possible moves', () => { it('When Bishop is on D4 and there is no pieces on its way', () => { @@ -29,11 +30,11 @@ describe('Bishop possible moves', () => { }); it('When white Bishop is on starting position C1 and there are pieces all around', () => { const testBoard = boardWithPieces({ - B1: { side: Side.WHITE }, - B2: { side: Side.WHITE }, - C2: { side: Side.WHITE }, - D1: { side: Side.WHITE }, - D2: { side: Side.WHITE }, + B1: new Pawn(Side.WHITE), + B2: new Pawn(Side.WHITE), + C2: new Pawn(Side.WHITE), + D1: new Pawn(Side.WHITE), + D2: new Pawn(Side.WHITE), }); const whiteBishopPosition: Square = { column: 'C', row: 1 }; const whiteBishop = new Bishop(Side.WHITE); @@ -43,9 +44,9 @@ describe('Bishop possible moves', () => { }); it('When white Bishop is on D4 on given test board', () => { const testBoard = boardWithPieces({ - B2: { side: Side.WHITE }, - C5: { side: Side.WHITE }, - G7: { side: Side.BLACK }, + B2: new Pawn(Side.WHITE), + C5: new Pawn(Side.WHITE), + G7: new Pawn(Side.BLACK), }); const whiteBishop = new Bishop(Side.WHITE); const whiteBishopPosition: Square = { column: 'D', row: 4 }; @@ -66,9 +67,9 @@ describe('Bishop possible moves', () => { it('When white Bishop is on starting position C1 and other pieces are not blocking his diagonal moves', () => { const testBoard = boardWithPieces({ - B1: { side: Side.WHITE }, - C2: { side: Side.WHITE }, - D1: { side: Side.WHITE }, + B1: new Pawn(Side.WHITE), + C2: new Pawn(Side.WHITE), + D1: new Pawn(Side.WHITE), }); const whiteBishop = new Bishop(Side.WHITE); const whiteBishopPosition: Square = { column: 'C', row: 1 }; @@ -88,7 +89,7 @@ describe('Bishop possible moves', () => { }); it('When white Bishop is on starting position C1 and other pieces are not blocking his left diagonal moves', () => { const testBoard = boardWithPieces({ - D2: { side: Side.WHITE }, + D2: new Pawn(Side.WHITE), }); const whiteBishop = new Bishop(Side.WHITE); const whiteBishopPosition: Square = { column: 'C', row: 1 }; diff --git a/test/app/model/ChessBoard.spec.ts b/test/app/model/ChessBoard.spec.ts index be4057e..174b7f8 100644 --- a/test/app/model/ChessBoard.spec.ts +++ b/test/app/model/ChessBoard.spec.ts @@ -1,43 +1,43 @@ import { ChessBoard } from '../../../src/app/model/ChessBoard'; -import { Piece } from '../../../src/app/model/Piece'; +import { Pawn } from '../../../src/app/model/Pawn'; import { Rook } from '../../../src/app/model/Rook'; import { Square, SquareWithPiece, Side } from '../../../src/app/model/Types'; describe('ChessBoard', () => { - const piece: Piece = { side: Side.WHITE }; + const pawn: Pawn = new Pawn(Side.WHITE); const rook: Rook = new Rook(Side.WHITE); const squareA2: Square = { column: 'A', row: 2 }; const squareA3: Square = { column: 'A', row: 3 }; const squareA4: Square = { column: 'A', row: 4 }; it('- check onPositionPiece method', () => { - const boardWithPieces: SquareWithPiece = { A2: piece, A3: rook }; + const boardWithPieces: SquareWithPiece = { A2: pawn, A3: rook }; const chessBoard = new ChessBoard(boardWithPieces); - expect(chessBoard.onPositionPiece(squareA2)).toMatchObject(piece); + expect(chessBoard.onPositionPiece(squareA2)).toMatchObject(pawn); expect(chessBoard.onPositionPiece(squareA3)).toMatchObject(rook); expect(chessBoard.onPositionPiece(squareA4)).toBe(undefined); }); it('move piece from square where is nothing (A2 is empty)', () => { - const boardWithPieces: SquareWithPiece = { D7: piece, F4: rook }; + const boardWithPieces: SquareWithPiece = { D7: pawn, F4: rook }; const chessBoard = new ChessBoard(boardWithPieces); expect(() => chessBoard.movePiece(squareA2, squareA3)).toThrowError(`There is no piece on square!`); }); it('move piece from A2 --> A4', () => { - const boardWithPieces: SquareWithPiece = { A2: piece, F4: rook }; + const boardWithPieces: SquareWithPiece = { A2: pawn, F4: rook }; const chessBoard = new ChessBoard(boardWithPieces); chessBoard.movePiece(squareA2, squareA3); expect(chessBoard.onPositionPiece(squareA2)).toBe(undefined); - expect(chessBoard.onPositionPiece(squareA3)).toMatchObject(piece); + expect(chessBoard.onPositionPiece(squareA3)).toMatchObject(pawn); }); it('move piece from A2 --> A3 --> A4', () => { - const boardWithPieces: SquareWithPiece = { A2: piece, F4: rook }; + const boardWithPieces: SquareWithPiece = { A2: pawn, F4: rook }; const chessBoard = new ChessBoard(boardWithPieces); chessBoard.movePiece(squareA2, squareA3); @@ -45,6 +45,6 @@ describe('ChessBoard', () => { expect(chessBoard.onPositionPiece(squareA2)).toBe(undefined); expect(chessBoard.onPositionPiece(squareA3)).toBe(undefined); - expect(chessBoard.onPositionPiece(squareA4)).toMatchObject(piece); + expect(chessBoard.onPositionPiece(squareA4)).toMatchObject(pawn); }); }); diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index 82d7d1d..4ea84c4 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -2,6 +2,7 @@ import { Knight } from '../../../src/app/model/Knight'; import { Side, Square } from '../../../src/app/model/Types'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; +import { Pawn } from '../../../src/app/model/Pawn'; describe('Knight possible moves', () => { it("When Knight is on F3 and there is no pieces on Knight's final movement squares", () => { @@ -72,12 +73,12 @@ describe('Knight possible moves', () => { it("When Knight is on F3 and there is no pieces on Knight's final movement squares but there are pieces directly around of Knight", () => { const testBoard = boardWithPieces({ - E2: { side: Side.WHITE }, - E3: { side: Side.WHITE }, - F4: { side: Side.BLACK }, - F2: { side: Side.BLACK }, - G2: { side: Side.BLACK }, - G3: { side: Side.WHITE }, + E2: new Pawn(Side.WHITE), + E3: new Pawn(Side.WHITE), + F4: new Pawn(Side.BLACK), + F2: new Pawn(Side.BLACK), + G2: new Pawn(Side.BLACK), + G3: new Pawn(Side.WHITE), }); const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'F', row: 3 }; @@ -99,7 +100,7 @@ describe('Knight possible moves', () => { it("When WHITE Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ - D2: { side: Side.WHITE }, + D2: new Pawn(Side.WHITE), }); const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'F', row: 3 }; @@ -120,7 +121,7 @@ describe('Knight possible moves', () => { it("When WHITE Knight is on F3 and there is BLACK piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ - D2: { side: Side.BLACK }, + D2: new Pawn(Side.BLACK), }); const testPiece = new Knight(Side.WHITE); const testPiecePosition: Square = { column: 'F', row: 3 }; @@ -142,7 +143,7 @@ describe('Knight possible moves', () => { it("When BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on D2", () => { const testBoard = boardWithPieces({ - D2: { side: Side.WHITE }, + D2: new Pawn(Side.WHITE), }); const testPiece = new Knight(Side.BLACK); const testPiecePosition: Square = { column: 'F', row: 3 }; @@ -164,11 +165,11 @@ describe('Knight possible moves', () => { it("When BLACK Knight is on F3 and there is WHITE piece on Knight's final movement square on G6 and there are BLACK pieces on F6, F7, F8, H7", () => { const testBoard = boardWithPieces({ - G6: { side: Side.WHITE }, - F6: { side: Side.BLACK }, - F7: { side: Side.BLACK }, - F8: { side: Side.BLACK }, - H7: { side: Side.BLACK }, + G6: new Pawn(Side.WHITE), + F6: new Pawn(Side.BLACK), + F7: new Pawn(Side.BLACK), + F8: new Pawn(Side.BLACK), + H7: new Pawn(Side.BLACK), }); const testPiece = new Knight(Side.BLACK); const testPiecePosition: Square = { column: 'H', row: 8 }; @@ -181,8 +182,8 @@ describe('Knight possible moves', () => { it("When BLACK Knight is on H8 and there is BLACK pieces on Knight's final movement squares on G6 and F7 - no movement", () => { const testBoard = boardWithPieces({ - G6: { side: Side.BLACK }, - F7: { side: Side.BLACK }, + G6: new Pawn(Side.BLACK), + F7: new Pawn(Side.BLACK), }); const testPiece = new Knight(Side.BLACK); const testPiecePosition: Square = { column: 'H', row: 8 }; diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts index 8992fb8..8071d93 100644 --- a/test/app/model/Pawn.spec.ts +++ b/test/app/model/Pawn.spec.ts @@ -26,7 +26,7 @@ describe('Pawn movement', () => { it("Check possible squares to go, when White Pawn is on B4 and there is no pieces on Pawn's way and it's black piece on A5", () => { const testBoard = boardWithPieces({ - A5: { side: Side.BLACK }, + A5: new Pawn(Side.BLACK), }); const pawn = new Pawn(Side.WHITE); const pawnPosition: Square = { column: 'B', row: 4 }; @@ -42,8 +42,8 @@ describe('Pawn movement', () => { it("Check possible squares to go, when White Pawn is on B4 and there is no pieces on Pawn's way and it's black piece on A5 and it's white piece on C5", () => { const testBoard = boardWithPieces({ - A5: { side: Side.BLACK }, - C5: { side: Side.WHITE }, + A5: new Pawn(Side.BLACK), + C5: new Pawn(Side.WHITE), }); const pawn = new Pawn(Side.WHITE); const pawnPosition: Square = { column: 'B', row: 4 }; @@ -72,7 +72,7 @@ describe('Pawn movement', () => { it('Check possible squares to go, when White Pawn is on E2 and there is black piece on E3', () => { const testBoard = boardWithPieces({ - E3: { side: Side.BLACK }, + E3: new Pawn(Side.BLACK), }); const pawn = new Pawn(Side.WHITE); const pawnPosition: Square = { column: 'E', row: 2 }; @@ -85,7 +85,7 @@ describe('Pawn movement', () => { it('Check possible squares to go, when White Pawn is on E2 and there is black piece on E4', () => { const testBoard = boardWithPieces({ - E4: { side: Side.BLACK }, + E4: new Pawn(Side.BLACK), }); const pawn = new Pawn(Side.WHITE); const pawnPosition: Square = { column: 'E', row: 2 }; @@ -98,8 +98,8 @@ describe('Pawn movement', () => { it('Check possible squares to go, when White Pawn is on E2 and there is black pieces on E4 and on C3', () => { const testBoard = boardWithPieces({ - E4: { side: Side.BLACK }, - C3: { side: Side.BLACK }, + E4: new Pawn(Side.BLACK), + C3: new Pawn(Side.BLACK), }); const pawn = new Pawn(Side.WHITE); const pawnPosition: Square = { column: 'E', row: 2 }; @@ -112,8 +112,8 @@ describe('Pawn movement', () => { it('Check possible squares to go, when White Pawn is on E2 and there is black pieces on E4 and on D3', () => { const testBoard = boardWithPieces({ - E4: { side: Side.BLACK }, - D3: { side: Side.BLACK }, + E4: new Pawn(Side.BLACK), + D3: new Pawn(Side.BLACK), }); const pawn = new Pawn(Side.WHITE); const pawnPosition: Square = { column: 'E', row: 2 }; @@ -129,8 +129,8 @@ describe('Pawn movement', () => { it('Check possible squares to go, when White Pawn is on E2 and there is black piece on E4 and white piece on D3', () => { const testBoard = boardWithPieces({ - D3: { side: Side.WHITE }, - E4: { side: Side.BLACK }, + D3: new Pawn(Side.WHITE), + E4: new Pawn(Side.BLACK), }); const pawn = new Pawn(Side.WHITE); const pawnPosition: Square = { column: 'E', row: 2 }; @@ -168,7 +168,7 @@ describe('Pawn movement', () => { it('Check possible squares to go, when BLACK Pawn is on E7 and there is black piece on E6', () => { const testBoard = boardWithPieces({ - E6: { side: Side.BLACK }, + E6: new Pawn(Side.BLACK), }); const pawn = new Pawn(Side.BLACK); const pawnPosition: Square = { column: 'E', row: 7 }; @@ -181,7 +181,7 @@ describe('Pawn movement', () => { it('Check possible squares to go, when BLACK Pawn is on E7 and there is black piece on E5', () => { const testBoard = boardWithPieces({ - E5: { side: Side.BLACK }, + E5: new Pawn(Side.BLACK), }); const pawn = new Pawn(Side.BLACK); const pawnPosition: Square = { column: 'E', row: 7 }; @@ -194,7 +194,7 @@ describe('Pawn movement', () => { it('Check possible squares to go, when BLACK Pawn is on E7 and there is white piece on D6', () => { const testBoard = boardWithPieces({ - D6: { side: Side.WHITE }, + D6: new Pawn(Side.WHITE), }); const pawn = new Pawn(Side.BLACK); const pawnPosition: Square = { column: 'E', row: 7 }; diff --git a/test/app/model/Queen.spec.ts b/test/app/model/Queen.spec.ts index d5db91c..1cfbe3c 100644 --- a/test/app/model/Queen.spec.ts +++ b/test/app/model/Queen.spec.ts @@ -2,6 +2,7 @@ import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; import { Side, Square } from '../../../src/app/model/Types'; import { Queen } from '../../../src/app/model/Queen'; +import { Pawn } from '../../../src/app/model/Pawn'; describe('Queen possible moves', () => { it('When Queen is on D4 and there is no pieces on Queens way', () => { @@ -43,11 +44,11 @@ describe('Queen possible moves', () => { }); it('When white Queen is on starting position D1 and there are pieces all around', () => { const testBoard = boardWithPieces({ - C1: { side: Side.WHITE }, - C2: { side: Side.WHITE }, - D2: { side: Side.WHITE }, - E1: { side: Side.WHITE }, - E2: { side: Side.WHITE }, + C1: new Pawn(Side.WHITE), + C2: new Pawn(Side.WHITE), + D2: new Pawn(Side.WHITE), + E1: new Pawn(Side.WHITE), + E2: new Pawn(Side.WHITE), }); const whiteQueen = new Queen(Side.WHITE); const whiteQueenPosition: Square = { column: 'D', row: 1 }; @@ -58,14 +59,14 @@ describe('Queen possible moves', () => { }); it('When white Queen is on D4 on given test board', () => { const testBoard = boardWithPieces({ - C3: { side: Side.WHITE }, - B4: { side: Side.WHITE }, - C5: { side: Side.WHITE }, - D6: { side: Side.WHITE }, - E5: { side: Side.BLACK }, - F4: { side: Side.BLACK }, - E3: { side: Side.BLACK }, - D2: { side: Side.BLACK }, + C3: new Pawn(Side.WHITE), + B4: new Pawn(Side.WHITE), + C5: new Pawn(Side.WHITE), + D6: new Pawn(Side.WHITE), + E5: new Pawn(Side.BLACK), + F4: new Pawn(Side.BLACK), + E3: new Pawn(Side.BLACK), + D2: new Pawn(Side.BLACK), }); const whiteQueen = new Queen(Side.WHITE); const whiteQueenPosition: Square = { column: 'D', row: 4 }; @@ -86,8 +87,8 @@ describe('Queen possible moves', () => { }); it('When white Queen is on D5 and there are black pieces on D7 and D8', () => { const testBoard = boardWithPieces({ - D7: { side: Side.BLACK }, - D8: { side: Side.BLACK }, + D7: new Pawn(Side.BLACK), + D8: new Pawn(Side.BLACK), }); const whiteQueen = new Queen(Side.WHITE); const whiteQueenPosition: Square = { column: 'D', row: 5 }; @@ -104,9 +105,9 @@ describe('Queen possible moves', () => { }); it('When white Queen is on starting position D1 and other pieces are not blocking her diagonal moves', () => { const testBoard = boardWithPieces({ - D2: { side: Side.WHITE }, - C1: { side: Side.WHITE }, - E1: { side: Side.WHITE }, + D2: new Pawn(Side.WHITE), + C1: new Pawn(Side.WHITE), + E1: new Pawn(Side.WHITE), }); const whiteQueen = new Queen(Side.WHITE); const whiteQueenPosition: Square = { column: 'D', row: 1 }; @@ -126,10 +127,10 @@ describe('Queen possible moves', () => { }); it('When white Queen is on starting position D1 and other pieces are not blocking her left diagonal moves', () => { const testBoard = boardWithPieces({ - D2: { side: Side.WHITE }, - C1: { side: Side.WHITE }, - E1: { side: Side.WHITE }, - E2: { side: Side.WHITE }, + D2: new Pawn(Side.WHITE), + C1: new Pawn(Side.WHITE), + E1: new Pawn(Side.WHITE), + E2: new Pawn(Side.WHITE), }); const whiteQueen = new Queen(Side.WHITE); const whiteQueenPosition: Square = { column: 'D', row: 1 }; diff --git a/test/app/model/Rook.spec.ts b/test/app/model/Rook.spec.ts index 366515c..1c5ba48 100644 --- a/test/app/model/Rook.spec.ts +++ b/test/app/model/Rook.spec.ts @@ -2,6 +2,7 @@ import { Rook } from '../../../src/app/model/Rook'; import { Side, Square } from '../../../src/app/model/Types'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; +import { Pawn } from '../../../src/app/model/Pawn'; describe('Rook movement', () => { it("Check possible squares to go, when Rook is on A1 and there is no pieces on Roook's way", () => { @@ -56,8 +57,8 @@ describe('Rook movement', () => { it('Check possible squares to go, when Rook is on D4 and there are some pieces on D7 and F4', () => { const board = boardWithPieces({ - D7: new Rook(Side.BLACK), - F4: new Rook(Side.WHITE), + D7: new Pawn(Side.BLACK), + F4: new Pawn(Side.WHITE), }); const possibleMovesWhenRookOnD4 = [ { column: 'D', row: 7 }, From 4647edaa85890959b0ce9102fd15e6f125e9fa36 Mon Sep 17 00:00:00 2001 From: DomiZet <57037612+DomiZet@users.noreply.github.com> Date: Thu, 4 Feb 2021 20:30:49 +0100 Subject: [PATCH 062/134] #27 MVP Architecture Component and add listening for clicks on Square and --- src/app/App.ts | 12 ++++-- src/app/model/ChessEngine.ts | 3 ++ src/app/model/ChessModel.ts | 1 + src/app/presenter/ChessBoardPresenter.ts | 21 +++++++++ src/app/presenter/Position.ts | 4 ++ src/app/view/ChessBoardView.ts | 43 ++----------------- src/app/view/console/ConsoleChessBoardView.ts | 11 +++++ src/app/view/web/Chessboard.ts | 31 +++++++++++++ src/app/view/web/Square.ts | 19 ++++++++ src/app/view/web/SquareColor.ts | 1 + src/app/view/web/WebChessView.ts | 23 ++++++++++ test/app/presenter/SelectedSquare.spec.ts | 21 +++++++++ test/app/view/ChessBoardView.spec.ts | 4 +- 13 files changed, 150 insertions(+), 44 deletions(-) create mode 100644 src/app/model/ChessEngine.ts create mode 100644 src/app/model/ChessModel.ts create mode 100644 src/app/presenter/ChessBoardPresenter.ts create mode 100644 src/app/presenter/Position.ts create mode 100644 src/app/view/console/ConsoleChessBoardView.ts create mode 100644 src/app/view/web/Chessboard.ts create mode 100644 src/app/view/web/Square.ts create mode 100644 src/app/view/web/SquareColor.ts create mode 100644 src/app/view/web/WebChessView.ts create mode 100644 test/app/presenter/SelectedSquare.spec.ts diff --git a/src/app/App.ts b/src/app/App.ts index 4b0c978..1e659f0 100644 --- a/src/app/App.ts +++ b/src/app/App.ts @@ -1,6 +1,12 @@ -import { Chessboard } from './view/ChessBoardView'; +import { ChessBoardPresenter } from './presenter/ChessBoardPresenter'; +import { ChessBoardView } from './view/ChessBoardView'; +import { WebChessView } from './view/web/WebChessView'; +import { ChessEngine } from './model/ChessEngine'; +import { ChessModel } from './model/ChessModel'; export const App = (): void => { - const chessboard: Chessboard = new Chessboard(); - document.body.appendChild(chessboard.createBoard()); + const chessBoardView: ChessBoardView = new WebChessView(); + const chessModel: ChessModel = new ChessEngine(); + const presenter = new ChessBoardPresenter(chessBoardView, chessModel); + presenter.startGame(); }; diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts new file mode 100644 index 0000000..a6120c0 --- /dev/null +++ b/src/app/model/ChessEngine.ts @@ -0,0 +1,3 @@ +import { ChessModel } from './ChessModel'; + +export class ChessEngine implements ChessModel {} diff --git a/src/app/model/ChessModel.ts b/src/app/model/ChessModel.ts new file mode 100644 index 0000000..43236a6 --- /dev/null +++ b/src/app/model/ChessModel.ts @@ -0,0 +1 @@ +export interface ChessModel {} diff --git a/src/app/presenter/ChessBoardPresenter.ts b/src/app/presenter/ChessBoardPresenter.ts new file mode 100644 index 0000000..fa15f12 --- /dev/null +++ b/src/app/presenter/ChessBoardPresenter.ts @@ -0,0 +1,21 @@ +import { ChessBoardView } from '../view/ChessBoardView'; +import { Position } from './Position'; +import { ChessModel } from '../model/ChessModel'; + +export class ChessBoardPresenter { + constructor(private readonly view: ChessBoardView, private readonly chessModel: ChessModel) { + view.onSquareSelected(this.selectedSquare); + } + + selectedSquare(position: Position): void { + //chessModel zwroci mozliwe ruchy dla bierki na wybranej pozycji + //presenter kaze, zeby view wyswietlil mozliwe ruchy -> wywolujac np. view.showAvailableMoves(squares). + console.log(position); + this.view.showSelectedPiece(position); + } + + startGame(): void { + //wezmie z chessModel aktualny uklad + this.view.showChessBoard(); + } +} diff --git a/src/app/presenter/Position.ts b/src/app/presenter/Position.ts new file mode 100644 index 0000000..09614ba --- /dev/null +++ b/src/app/presenter/Position.ts @@ -0,0 +1,4 @@ +export interface Position { + x: number; + y: number; +} diff --git a/src/app/view/ChessBoardView.ts b/src/app/view/ChessBoardView.ts index c98f91d..3a26fe3 100644 --- a/src/app/view/ChessBoardView.ts +++ b/src/app/view/ChessBoardView.ts @@ -1,42 +1,7 @@ -export class Square { - constructor(private position_x: number, private position_y: number, private color: SquareColor) {} +export interface ChessBoardView { + showChessBoard(/*parametry*/): void; - setHtmlElement(): HTMLElement { - const squareElement = document.createElement('div'); - squareElement.id = this.mapSquarePosition(); - squareElement.classList.add('square'); - squareElement.classList.add(`square--${this.color}`); - return squareElement; - } + onSquareSelected(callback: (position: { x: number; y: number }) => void): void; - mapSquarePosition(): string { - const columns = 'abcdefgh'.split('').reverse(); - const rows = '12345678'.split(''); - return `${columns[this.position_x]}${rows[this.position_y]}`; - } -} - -export type SquareColor = 'light' | 'dark'; -export class Chessboard { - constructor(private id: string = 'chessboard', private className: string = 'chessboard') {} - - private setHtmlElement(): HTMLElement { - const boardElement = document.createElement('div'); - boardElement.id = this.id; - boardElement.classList.add(this.className); - return boardElement; - } - - createBoard(): HTMLElement { - const boardHtml = this.setHtmlElement(); - for (let y = 7; y >= 0; y--) { - for (let x = 7; x >= 0; x--) { - const squareColor: SquareColor = (x + y) % 2 ? 'dark' : 'light'; - const square = new Square(x, y, squareColor); - const squareHtml = square.setHtmlElement(); - boardHtml.appendChild(squareHtml); - } - } - return boardHtml; - } + showSelectedPiece(position: { x: number; y: number }): void; } diff --git a/src/app/view/console/ConsoleChessBoardView.ts b/src/app/view/console/ConsoleChessBoardView.ts new file mode 100644 index 0000000..1dfb409 --- /dev/null +++ b/src/app/view/console/ConsoleChessBoardView.ts @@ -0,0 +1,11 @@ +import { ChessBoardView } from '../ChessBoardView'; + +export class ConsoleChessBoardView implements ChessBoardView { + showSelectedPiece(position: { x: number; y: number }): void {} + + onSquareSelected(callback: (position: { x: number; y: number }) => void): void {} + + showChessBoard(): void { + console.log('Tutaj bysmy wyswietlili szachownice na konsoli'); + } +} diff --git a/src/app/view/web/Chessboard.ts b/src/app/view/web/Chessboard.ts new file mode 100644 index 0000000..6c7c2b5 --- /dev/null +++ b/src/app/view/web/Chessboard.ts @@ -0,0 +1,31 @@ +import { Square } from './Square'; +import { SquareColor } from './SquareColor'; + +export class Chessboard { + constructor( + private id: string = 'chessboard', + private className: string = 'chessboard', + private readonly onSquareSelected: (position: { x: number; y: number }) => void, + ) {} + + private setHtmlElement(): HTMLElement { + const boardElement = document.createElement('div'); + boardElement.id = this.id; + boardElement.classList.add(this.className); + return boardElement; + } + + createBoard(): HTMLElement { + const boardHtml = this.setHtmlElement(); + for (let y = 8; y >= 1; y--) { + for (let x = 1; x <= 8; x++) { + const squareColor: SquareColor = (x + y) % 2 ? 'light' : 'dark'; + const square = new Square(x, y, squareColor); + const squareHtml = square.setHtmlElement(); + boardHtml.appendChild(squareHtml); + squareHtml.addEventListener('click', () => this.onSquareSelected({ x: x, y: y })); + } + } + return boardHtml; + } +} diff --git a/src/app/view/web/Square.ts b/src/app/view/web/Square.ts new file mode 100644 index 0000000..5420c65 --- /dev/null +++ b/src/app/view/web/Square.ts @@ -0,0 +1,19 @@ +import { SquareColor } from './SquareColor'; + +export class Square { + constructor(private position_x: number, private position_y: number, private color: SquareColor) {} + + setHtmlElement(): HTMLElement { + const squareElement = document.createElement('div'); + squareElement.id = this.mapSquarePosition(); + squareElement.classList.add('square'); + squareElement.classList.add(`square--${this.color}`); + return squareElement; + } + + mapSquarePosition(): string { + const columns = 'abcdefgh'.split(''); + const rows = '12345678'.split(''); + return `${columns[this.position_x - 1]}${rows[this.position_y - 1]}`; + } +} diff --git a/src/app/view/web/SquareColor.ts b/src/app/view/web/SquareColor.ts new file mode 100644 index 0000000..0712587 --- /dev/null +++ b/src/app/view/web/SquareColor.ts @@ -0,0 +1 @@ +export type SquareColor = 'light' | 'dark'; diff --git a/src/app/view/web/WebChessView.ts b/src/app/view/web/WebChessView.ts new file mode 100644 index 0000000..46289c3 --- /dev/null +++ b/src/app/view/web/WebChessView.ts @@ -0,0 +1,23 @@ +import { Chessboard } from './Chessboard'; +import { ChessBoardView } from '../ChessBoardView'; + +type OnSquareSelectedFn = (position: { x: number; y: number }) => void; + +export class WebChessView implements ChessBoardView { + private readonly onSquareSelectedListeners: OnSquareSelectedFn[] = []; + + constructor(private readonly parent: HTMLElement = document.body) {} + + showChessBoard(): void { + const chessboard: Chessboard = new Chessboard('chessBordId', 'chessboard', (position) => { + this.onSquareSelectedListeners.forEach((listener) => listener(position)); + }); + this.parent.appendChild(chessboard.createBoard()); + } + + onSquareSelected(listener: OnSquareSelectedFn): void { + this.onSquareSelectedListeners.push(listener); + } + + showSelectedPiece(position: { x: number; y: number }): void {} +} diff --git a/test/app/presenter/SelectedSquare.spec.ts b/test/app/presenter/SelectedSquare.spec.ts new file mode 100644 index 0000000..521998f --- /dev/null +++ b/test/app/presenter/SelectedSquare.spec.ts @@ -0,0 +1,21 @@ +import '@testing-library/jest-dom'; +import { ChessBoardView } from '../../../src/app/view/ChessBoardView'; +import { ChessModel } from '../../../src/app/model/ChessModel'; +import { ChessBoardPresenter } from '../../../src/app/presenter/ChessBoardPresenter'; + +describe('SelectedSquare', () => { + const view: ChessBoardView = { + onSquareSelected: jest.fn(), + showChessBoard: jest.fn(), + showSelectedPiece: jest.fn(), + }; + + const model: ChessModel = {}; + const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); + + it('when square is selected then selected piece should be shown', () => { + presenter.selectedSquare({ x: 1, y: 1 }); + + expect(view.showSelectedPiece).toHaveBeenCalledWith({ x: 1, y: 1 }); + }); +}); diff --git a/test/app/view/ChessBoardView.spec.ts b/test/app/view/ChessBoardView.spec.ts index d72b420..3da3cdb 100644 --- a/test/app/view/ChessBoardView.spec.ts +++ b/test/app/view/ChessBoardView.spec.ts @@ -1,8 +1,8 @@ -import { Chessboard } from '../../../src/app/view/ChessBoardView'; import '@testing-library/jest-dom'; +import { Chessboard } from '../../../src/app/view/web/Chessboard'; describe('Component should create a chessboard', () => { - const chessboard = new Chessboard('board', 'board'); + const chessboard = new Chessboard('board', 'board', () => {}); document.body.appendChild(chessboard.createBoard()); it('Chessboard should have 64 squares', () => { From 7be04bd934021acb268ade27ae5f069ff079fc7b Mon Sep 17 00:00:00 2001 From: Tomek <50457289+tomdworniczak@users.noreply.github.com> Date: Fri, 5 Feb 2021 22:04:55 +0100 Subject: [PATCH 063/134] UI button (#39) --- sass/_fonts.scss | 1 + sass/_reset.scss | 4 ++ sass/_vars.scss | 7 ++++ sass/components/_button.scss | 37 +++++++++++++++++ sass/style.scss | 2 + src/app/view/Button.ts | 61 ++++++++++++++++++++++++++++ test/app/view/Button.spec.ts | 78 ++++++++++++++++++++++++++++++++++++ 7 files changed, 190 insertions(+) create mode 100644 sass/_fonts.scss create mode 100644 sass/components/_button.scss create mode 100644 src/app/view/Button.ts create mode 100644 test/app/view/Button.spec.ts diff --git a/sass/_fonts.scss b/sass/_fonts.scss new file mode 100644 index 0000000..979589a --- /dev/null +++ b/sass/_fonts.scss @@ -0,0 +1 @@ +@import url('https://fonts.googleapis.com/css2?family=Caesar+Dressing&display=swap'); diff --git a/sass/_reset.scss b/sass/_reset.scss index 0f3f574..065bd18 100644 --- a/sass/_reset.scss +++ b/sass/_reset.scss @@ -54,3 +54,7 @@ ol, ul { list-style-type: none; } + +button { + outline: transparent; // dodałem ten reset ze względu na to, że Chrome dodawał mi ramkę kiedy przycisk miał :focus +} diff --git a/sass/_vars.scss b/sass/_vars.scss index bb818e6..cec38d7 100644 --- a/sass/_vars.scss +++ b/sass/_vars.scss @@ -1,2 +1,9 @@ $chessboard-size--portrait: 100vw; $chessboard-size--landscape: 100vh; + +//Colors +$button-primary: #ffd700; +$button-hover: #f1bf00; + +//Fonts +$font-family--primary: 'Caesar Dressing', sans-serif; diff --git a/sass/components/_button.scss b/sass/components/_button.scss new file mode 100644 index 0000000..c53afb2 --- /dev/null +++ b/sass/components/_button.scss @@ -0,0 +1,37 @@ +.button { + display: block; + height: auto; + width: auto; + border-radius: 20px; + border: none; + background-color: $button-primary; + text-align: center; + font-family: $font-family--primary; + font-size: 26px; + font-style: normal; + font-weight: 500; + box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25); + vertical-align: middle; + + &--large { + height: 50px; + width: 200px; + } + + &--small { + height: 38px; + width: 135px; + font-size: 18px; + } + + &:hover { + background-color: $button-hover; + cursor: pointer; + } + + &:active { + background-color: $button-hover; + box-shadow: 0 3px 3px rgba(0, 0, 0, 0.4); + transform: translateY(2px); + } +} diff --git a/sass/style.scss b/sass/style.scss index 6d77947..28a36ff 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -4,8 +4,10 @@ @import 'vars'; // ustawienie zmiennych @import 'main'; // opisanie głównych elementów @import 'mixins'; // miksins - główne +@import 'fonts'; // czcionki // * COMPONENTY @import 'components/chessboard'; +@import 'components/button'; // * LAYOUTS diff --git a/src/app/view/Button.ts b/src/app/view/Button.ts new file mode 100644 index 0000000..8016e01 --- /dev/null +++ b/src/app/view/Button.ts @@ -0,0 +1,61 @@ +enum Size { + LARGE = 'large', + SMALL = 'small', +} + +export class Button { + constructor(private id: string, private size: Size, private btnText: string = '', private onClickFn: () => void = () => {}) {} + + static fromHtml(element: HTMLElement): Button { + const size = element.classList.contains('button--small') ? Size.SMALL : Size.LARGE; + return new Button(element.id, size, element.innerText, () => element.click()); + } + + static small(id: string): Button { + return new Button(id, Size.SMALL); + } + + static large(id: string): Button { + return new Button(id, Size.LARGE); + } + + withText(text: string): Button { + return new Button(this.id, this.size, text, this.onClickFn); + } + + large(): Button { + return new Button(this.id, Size.LARGE, this.btnText, this.onClickFn); + } + + small(): Button { + return new Button(this.id, Size.SMALL, this.btnText, this.onClickFn); + } + + onClick(clickFn: () => void): Button { + return new Button(this.id, this.size, this.btnText, clickFn); + } + + updateHtml(): void { + const buttonDomElement: HTMLButtonElement = document.querySelector(`#${this.id}`) ?? document.createElement('button'); + this.toHtml(buttonDomElement); + } + + toHtml(element?: HTMLButtonElement): HTMLButtonElement { + const buttonDomElement: HTMLButtonElement = element ?? document.createElement('button'); + buttonDomElement.id = this.id; + buttonDomElement.textContent = this.btnText; + buttonDomElement.classList.add('button'); + buttonDomElement.setAttribute('data-testid', this.id); + if (this.size == Size.SMALL) { + buttonDomElement.classList.remove('button--large'); + buttonDomElement.classList.add('button--small'); + } + if (this.size == Size.LARGE) { + buttonDomElement.classList.remove('button--small'); + buttonDomElement.classList.add('button--large'); + } + buttonDomElement.onclick = this.onClickFn; + + return buttonDomElement; + } +} diff --git a/test/app/view/Button.spec.ts b/test/app/view/Button.spec.ts new file mode 100644 index 0000000..5e5ca18 --- /dev/null +++ b/test/app/view/Button.spec.ts @@ -0,0 +1,78 @@ +import { Button } from '../../../src/app/view/Button'; +import '@testing-library/jest-dom'; +import '@testing-library/user-event'; +import { screen } from '@testing-library/dom'; +import userEvent from '@testing-library/user-event'; + +describe('Button view creation', () => { + beforeEach(() => { + document.body.innerHTML = ''; + }); + + it("Should create button with CSS class 'button--small' and default class 'button'", async () => { + const testSmallButton: Button = Button.small('smallButton'); + + renderElement(testSmallButton.toHtml()); + + const renderedButton = await screen.findByRole('button'); + expect(renderedButton).toHaveClass('button'); + expect(renderedButton).toHaveClass('button--small'); + }); + + it("Should create button with CSS class 'button--large' and default class 'button'", async () => { + const testLargeButton: Button = Button.large('largeButton'); + + renderElement(testLargeButton.toHtml()); + + const renderButton = await screen.findByRole('button'); + expect(renderButton).toHaveClass('button'); + expect(renderButton).toHaveClass('button--large'); + }); + + it('Should create button with given id and given inner text', async () => { + const testButtonWithText: Button = Button.small('buttonWithText').withText('Test Button'); + + renderElement(testButtonWithText.toHtml()); + + expect(await screen.findByText('Test Button')).toBeDefined(); + }); + + it('Should create button with given id and given on click function and call this function after user click', async () => { + const myOnClickFn = jest.fn(); + renderElement(Button.small('buttonWithText').onClick(myOnClickFn).toHtml()); + + userEvent.click(await screen.findByTestId('buttonWithText')); + + expect(myOnClickFn).toBeCalledTimes(1); + }); + + it('Should update button and change its size from small to large', async () => { + const testButtonSmall: Button = Button.small('testButtonSmall'); + + renderElement(testButtonSmall.toHtml()); + + const renderButton = await screen.findByRole('button'); + + Button.fromHtml(renderButton).large().updateHtml(); + + expect(renderButton).not.toHaveClass('button--small'); + expect(renderButton).toHaveClass('button--large'); + }); + + it('Should update button and change its size from large to small', async () => { + const testButtonLarge: Button = Button.large('testButtonLarge'); + + renderElement(testButtonLarge.toHtml()); + + const renderButton = await screen.findByRole('button'); + + Button.fromHtml(renderButton).small().updateHtml(); + + expect(renderButton).not.toHaveClass('button--large'); + expect(renderButton).toHaveClass('button--small'); + }); +}); + +function renderElement(element: HTMLElement): void { + document.body.appendChild(element); +} From 7be9dbdd5ece381c0e5ce909f43cfd4cb588e305 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 6 Feb 2021 12:25:23 -0100 Subject: [PATCH 064/134] Fix showing CSS by parcel public url configuration (#56) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 63ae86d..69f2b08 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "scripts": { "clean": "rimraf .cache && rimraf coverage && rimraf dist && rimraf node_modules", "prebuild": "rimraf dist", - "build": "rm -rf dist && tsc --noEmit && parcel build index.html", + "build": "rm -rf dist && tsc --noEmit && parcel build index.html --public-url ./", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "format:ci": "prettier -c \"src/**/*.ts\" \"test/**/*.ts\"", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix --format codeframe", From 168e9812a0f9aa38483520225f626a83d33d2c62 Mon Sep 17 00:00:00 2001 From: Mateusz Nowak Date: Sat, 6 Feb 2021 18:35:09 -0100 Subject: [PATCH 065/134] #57 View | MVP Architecture - ViewEventBus --- src/app/App.ts | 4 +- src/app/presenter/ChessBoardPresenter.ts | 5 ++- src/app/view/ChessBoardView.ts | 7 +-- src/app/view/console/ConsoleChessBoardView.ts | 7 +-- src/app/view/events/InMemoryViewEventBus.ts | 23 ++++++++++ src/app/view/events/SquareWasClicked.ts | 7 +++ src/app/view/events/UndoLastMoveWasClicked.ts | 5 +++ src/app/view/events/ViewEvent.ts | 3 ++ src/app/view/events/ViewEventBus.ts | 11 +++++ src/app/view/web/Square.ts | 1 + src/app/view/web/WebChessView.ts | 19 ++++---- .../app/presenter/ChessBoardPresenter.spec.ts | 31 +++++++++++++ test/app/presenter/SelectedSquare.spec.ts | 21 --------- test/app/view/ChessBoardView.spec.ts | 27 ------------ .../view/events/InMemoryViewEventBus.spec.ts | 24 ++++++++++ test/app/view/web/WebChessBoardView.spec.ts | 44 +++++++++++++++++++ 16 files changed, 172 insertions(+), 67 deletions(-) create mode 100644 src/app/view/events/InMemoryViewEventBus.ts create mode 100644 src/app/view/events/SquareWasClicked.ts create mode 100644 src/app/view/events/UndoLastMoveWasClicked.ts create mode 100644 src/app/view/events/ViewEvent.ts create mode 100644 src/app/view/events/ViewEventBus.ts create mode 100644 test/app/presenter/ChessBoardPresenter.spec.ts delete mode 100644 test/app/presenter/SelectedSquare.spec.ts delete mode 100644 test/app/view/ChessBoardView.spec.ts create mode 100644 test/app/view/events/InMemoryViewEventBus.spec.ts create mode 100644 test/app/view/web/WebChessBoardView.spec.ts diff --git a/src/app/App.ts b/src/app/App.ts index 1e659f0..4f05221 100644 --- a/src/app/App.ts +++ b/src/app/App.ts @@ -3,9 +3,11 @@ import { ChessBoardView } from './view/ChessBoardView'; import { WebChessView } from './view/web/WebChessView'; import { ChessEngine } from './model/ChessEngine'; import { ChessModel } from './model/ChessModel'; +import { InMemoryViewEventBus } from './view/events/InMemoryViewEventBus'; export const App = (): void => { - const chessBoardView: ChessBoardView = new WebChessView(); + const viewEventBus = new InMemoryViewEventBus(); + const chessBoardView: ChessBoardView = new WebChessView(viewEventBus); const chessModel: ChessModel = new ChessEngine(); const presenter = new ChessBoardPresenter(chessBoardView, chessModel); presenter.startGame(); diff --git a/src/app/presenter/ChessBoardPresenter.ts b/src/app/presenter/ChessBoardPresenter.ts index fa15f12..5ec3ad1 100644 --- a/src/app/presenter/ChessBoardPresenter.ts +++ b/src/app/presenter/ChessBoardPresenter.ts @@ -1,13 +1,14 @@ import { ChessBoardView } from '../view/ChessBoardView'; import { Position } from './Position'; import { ChessModel } from '../model/ChessModel'; +import { SquareWasClicked } from '../view/events/SquareWasClicked'; export class ChessBoardPresenter { constructor(private readonly view: ChessBoardView, private readonly chessModel: ChessModel) { - view.onSquareSelected(this.selectedSquare); + view.listenOn('SquareWasClicked', (event) => this.onSquareWasClicked(event.position)); } - selectedSquare(position: Position): void { + onSquareWasClicked(position: Position): void { //chessModel zwroci mozliwe ruchy dla bierki na wybranej pozycji //presenter kaze, zeby view wyswietlil mozliwe ruchy -> wywolujac np. view.showAvailableMoves(squares). console.log(position); diff --git a/src/app/view/ChessBoardView.ts b/src/app/view/ChessBoardView.ts index 3a26fe3..76e8735 100644 --- a/src/app/view/ChessBoardView.ts +++ b/src/app/view/ChessBoardView.ts @@ -1,7 +1,8 @@ -export interface ChessBoardView { - showChessBoard(/*parametry*/): void; +import { ViewEventSource } from './events/ViewEventBus'; - onSquareSelected(callback: (position: { x: number; y: number }) => void): void; +export interface ChessBoardView extends ViewEventSource { + showChessBoard(/*parametry*/): void; + //TODO: Do zmiany, brakuje jaka bierke pokazac showSelectedPiece(position: { x: number; y: number }): void; } diff --git a/src/app/view/console/ConsoleChessBoardView.ts b/src/app/view/console/ConsoleChessBoardView.ts index 1dfb409..832fcb9 100644 --- a/src/app/view/console/ConsoleChessBoardView.ts +++ b/src/app/view/console/ConsoleChessBoardView.ts @@ -1,11 +1,12 @@ import { ChessBoardView } from '../ChessBoardView'; +import { ViewEvent } from '../events/ViewEvent'; export class ConsoleChessBoardView implements ChessBoardView { - showSelectedPiece(position: { x: number; y: number }): void {} - - onSquareSelected(callback: (position: { x: number; y: number }) => void): void {} + listenOn(eventType: EventType['eventType'], reaction: (event: EventType) => void): void {} showChessBoard(): void { console.log('Tutaj bysmy wyswietlili szachownice na konsoli'); } + + showSelectedPiece(position: { x: number; y: number }): void {} } diff --git a/src/app/view/events/InMemoryViewEventBus.ts b/src/app/view/events/InMemoryViewEventBus.ts new file mode 100644 index 0000000..af10839 --- /dev/null +++ b/src/app/view/events/InMemoryViewEventBus.ts @@ -0,0 +1,23 @@ +import { ViewEvent } from './ViewEvent'; +import { ViewEventBus } from './ViewEventBus'; + +type EventListener = { readonly eventType: string; readonly reaction: (event: ViewEvent) => void }; + +/** + * Implementacja interfejsu ViewEventBus + * Dzięki użyciu tej klasy np. inna klasa A może opublikować jakiś event (poinformować, że coś się u niej stało), np. że nastąpiło kliknięcie na przycisk. + * Nie interesuje jej kto na to słucha i nie wywołuje bezpośrednio reakcji. + * Klasa B może użyć funkcji listenOn aby nasłuchiwać na opublikowanie zdarzenie. Kiedy ktoś wywoła publish(TypZdarzenia), + * zostaną wywołane wszystkie funkcje, które zostały przekazane jako parametr reaction metody listenOn, jeśli typ zdarzenia jest zgodny z oczekiwanym. + */ +export class InMemoryViewEventBus implements ViewEventBus { + private readonly listeners: EventListener[] = []; + + publish(event: ViewEvent): void { + this.listeners.filter((it) => it.eventType === event.eventType).forEach((it) => it.reaction(event)); + } + + listenOn(eventType: EventType['eventType'], reaction: (event: EventType) => void): void { + this.listeners.push({ eventType, reaction: reaction as (event: ViewEvent) => void }); + } +} diff --git a/src/app/view/events/SquareWasClicked.ts b/src/app/view/events/SquareWasClicked.ts new file mode 100644 index 0000000..b4553f1 --- /dev/null +++ b/src/app/view/events/SquareWasClicked.ts @@ -0,0 +1,7 @@ +import { ViewEvent } from './ViewEvent'; + +export class SquareWasClicked implements ViewEvent { + readonly eventType: string = 'SquareWasClicked'; + + constructor(readonly position: { x: number; y: number }) {} +} diff --git a/src/app/view/events/UndoLastMoveWasClicked.ts b/src/app/view/events/UndoLastMoveWasClicked.ts new file mode 100644 index 0000000..03fa60d --- /dev/null +++ b/src/app/view/events/UndoLastMoveWasClicked.ts @@ -0,0 +1,5 @@ +import { ViewEvent } from './ViewEvent'; + +export class UndoLastMoveWasClicked implements ViewEvent { + readonly eventType: string = 'UndoLastMoveWasClicked'; +} diff --git a/src/app/view/events/ViewEvent.ts b/src/app/view/events/ViewEvent.ts new file mode 100644 index 0000000..91a9733 --- /dev/null +++ b/src/app/view/events/ViewEvent.ts @@ -0,0 +1,3 @@ +export interface ViewEvent { + readonly eventType: string; +} diff --git a/src/app/view/events/ViewEventBus.ts b/src/app/view/events/ViewEventBus.ts new file mode 100644 index 0000000..5bad68b --- /dev/null +++ b/src/app/view/events/ViewEventBus.ts @@ -0,0 +1,11 @@ +import { ViewEvent } from './ViewEvent'; + +export interface ViewEventSource { + listenOn(eventType: EventType['eventType'], reaction: (event: EventType) => void): void; +} + +export interface ViewEventPublisher { + publish(event: ViewEvent): void; +} + +export interface ViewEventBus extends ViewEventSource, ViewEventPublisher {} diff --git a/src/app/view/web/Square.ts b/src/app/view/web/Square.ts index 5420c65..00de3b9 100644 --- a/src/app/view/web/Square.ts +++ b/src/app/view/web/Square.ts @@ -6,6 +6,7 @@ export class Square { setHtmlElement(): HTMLElement { const squareElement = document.createElement('div'); squareElement.id = this.mapSquarePosition(); + squareElement.setAttribute('data-testid', squareElement.id); squareElement.classList.add('square'); squareElement.classList.add(`square--${this.color}`); return squareElement; diff --git a/src/app/view/web/WebChessView.ts b/src/app/view/web/WebChessView.ts index 46289c3..0a52a2c 100644 --- a/src/app/view/web/WebChessView.ts +++ b/src/app/view/web/WebChessView.ts @@ -1,22 +1,21 @@ import { Chessboard } from './Chessboard'; import { ChessBoardView } from '../ChessBoardView'; - -type OnSquareSelectedFn = (position: { x: number; y: number }) => void; +import { ViewEventBus } from '../events/ViewEventBus'; +import { ViewEvent } from '../events/ViewEvent'; +import { SquareWasClicked } from '../events/SquareWasClicked'; export class WebChessView implements ChessBoardView { - private readonly onSquareSelectedListeners: OnSquareSelectedFn[] = []; - - constructor(private readonly parent: HTMLElement = document.body) {} + constructor(private readonly viewEventBus: ViewEventBus, private readonly parent: HTMLElement = document.body) {} showChessBoard(): void { - const chessboard: Chessboard = new Chessboard('chessBordId', 'chessboard', (position) => { - this.onSquareSelectedListeners.forEach((listener) => listener(position)); - }); + const chessboard: Chessboard = new Chessboard('chessBoardId', 'chessboard', (position) => + this.viewEventBus.publish(new SquareWasClicked(position)), + ); this.parent.appendChild(chessboard.createBoard()); } - onSquareSelected(listener: OnSquareSelectedFn): void { - this.onSquareSelectedListeners.push(listener); + listenOn(eventType: EventType['eventType'], reaction: (event: EventType) => void): void { + this.viewEventBus.listenOn(eventType, reaction); } showSelectedPiece(position: { x: number; y: number }): void {} diff --git a/test/app/presenter/ChessBoardPresenter.spec.ts b/test/app/presenter/ChessBoardPresenter.spec.ts new file mode 100644 index 0000000..6884d67 --- /dev/null +++ b/test/app/presenter/ChessBoardPresenter.spec.ts @@ -0,0 +1,31 @@ +import '@testing-library/jest-dom'; +import { ChessBoardView } from '../../../src/app/view/ChessBoardView'; +import { ChessModel } from '../../../src/app/model/ChessModel'; +import { ChessBoardPresenter } from '../../../src/app/presenter/ChessBoardPresenter'; +import { ViewEventBus } from '../../../src/app/view/events/ViewEventBus'; +import { ViewEvent } from '../../../src/app/view/events/ViewEvent'; +import { SquareWasClicked } from '../../../src/app/view/events/SquareWasClicked'; +import { InMemoryViewEventBus } from '../../../src/app/view/events/InMemoryViewEventBus'; + +describe('ChessBoardPresenter', () => { + const viewEvents: ViewEventBus = new InMemoryViewEventBus(); + const view: ChessBoardView = chessBoardViewMock(viewEvents); + const model: ChessModel = {}; + const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); + + it('when square was clicked on the view, then selected piece should be shown', () => { + viewEvents.publish(new SquareWasClicked({ x: 1, y: 1 })); + + expect(view.showSelectedPiece).toHaveBeenCalledWith({ x: 1, y: 1 }); + }); +}); + +function chessBoardViewMock(viewEventBus: ViewEventBus): ChessBoardView { + return { + listenOn(eventType: EventType['eventType'], reaction: (event: EventType) => void): void { + return viewEventBus.listenOn(eventType, reaction); + }, + showChessBoard: jest.fn(), + showSelectedPiece: jest.fn(), + }; +} diff --git a/test/app/presenter/SelectedSquare.spec.ts b/test/app/presenter/SelectedSquare.spec.ts deleted file mode 100644 index 521998f..0000000 --- a/test/app/presenter/SelectedSquare.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import '@testing-library/jest-dom'; -import { ChessBoardView } from '../../../src/app/view/ChessBoardView'; -import { ChessModel } from '../../../src/app/model/ChessModel'; -import { ChessBoardPresenter } from '../../../src/app/presenter/ChessBoardPresenter'; - -describe('SelectedSquare', () => { - const view: ChessBoardView = { - onSquareSelected: jest.fn(), - showChessBoard: jest.fn(), - showSelectedPiece: jest.fn(), - }; - - const model: ChessModel = {}; - const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); - - it('when square is selected then selected piece should be shown', () => { - presenter.selectedSquare({ x: 1, y: 1 }); - - expect(view.showSelectedPiece).toHaveBeenCalledWith({ x: 1, y: 1 }); - }); -}); diff --git a/test/app/view/ChessBoardView.spec.ts b/test/app/view/ChessBoardView.spec.ts deleted file mode 100644 index 3da3cdb..0000000 --- a/test/app/view/ChessBoardView.spec.ts +++ /dev/null @@ -1,27 +0,0 @@ -import '@testing-library/jest-dom'; -import { Chessboard } from '../../../src/app/view/web/Chessboard'; - -describe('Component should create a chessboard', () => { - const chessboard = new Chessboard('board', 'board', () => {}); - document.body.appendChild(chessboard.createBoard()); - - it('Chessboard should have 64 squares', () => { - const board = document.getElementById('board'); - expect(board).not.toBeNull(); - const squareList = board?.getElementsByTagName('div'); - - expect(squareList?.length).toBe(64); - }); - - it('Square d1 should be light', () => { - const d1Square = document.getElementById('d1'); - - expect(d1Square).toHaveClass('square--light'); - }); - - it('Square f8 should be dark', () => { - const f8Square = document.getElementById('f8'); - - expect(f8Square).toHaveClass('square--dark'); - }); -}); diff --git a/test/app/view/events/InMemoryViewEventBus.spec.ts b/test/app/view/events/InMemoryViewEventBus.spec.ts new file mode 100644 index 0000000..66ebeb3 --- /dev/null +++ b/test/app/view/events/InMemoryViewEventBus.spec.ts @@ -0,0 +1,24 @@ +import { ViewEventBus } from '../../../../src/app/view/events/ViewEventBus'; +import { InMemoryViewEventBus } from '../../../../src/app/view/events/InMemoryViewEventBus'; +import { SquareWasClicked } from '../../../../src/app/view/events/SquareWasClicked'; +import { UndoLastMoveWasClicked } from '../../../../src/app/view/events/UndoLastMoveWasClicked'; + +describe('InMemoryViewEventBus', () => { + const eventBus: ViewEventBus = new InMemoryViewEventBus(); + + it('when event is published, then all listeners of this event type should be executed', () => { + const squareWasClickedListener1 = jest.fn(); + const squareWasClickedListener2 = jest.fn(); + const anotherEventListener = jest.fn(); + eventBus.listenOn('SquareWasClicked', squareWasClickedListener1); + eventBus.listenOn('SquareWasClicked', squareWasClickedListener2); + eventBus.listenOn('UndoLastMoveWasClicked', anotherEventListener); + + const squareWasClickedEvent = new SquareWasClicked({ x: 1, y: 2 }); + eventBus.publish(squareWasClickedEvent); + + expect(squareWasClickedListener1).toBeCalledWith(squareWasClickedEvent); + expect(squareWasClickedListener2).toBeCalledWith(squareWasClickedEvent); + expect(anotherEventListener).not.toBeCalled(); + }); +}); diff --git a/test/app/view/web/WebChessBoardView.spec.ts b/test/app/view/web/WebChessBoardView.spec.ts new file mode 100644 index 0000000..e04ccd2 --- /dev/null +++ b/test/app/view/web/WebChessBoardView.spec.ts @@ -0,0 +1,44 @@ +import '@testing-library/jest-dom'; +import userEvent from '@testing-library/user-event'; +import { screen } from '@testing-library/dom'; +import { ChessBoardView } from '../../../../src/app/view/ChessBoardView'; +import { WebChessView } from '../../../../src/app/view/web/WebChessView'; +import { ViewEventBus } from '../../../../src/app/view/events/ViewEventBus'; +import { SquareWasClicked } from '../../../../src/app/view/events/SquareWasClicked'; + +describe('Web Chess Board View', () => { + const publishViewEventMock = jest.fn(); + const viewEventBus: ViewEventBus = { + listenOn: jest.fn(), + publish: publishViewEventMock, + }; + const chessBoardView: ChessBoardView = new WebChessView(viewEventBus); + chessBoardView.showChessBoard(); + + it('Chessboard should have 64 squares', () => { + const board = document.getElementById('chessBoardId'); + expect(board).not.toBeNull(); + const squareList = board?.getElementsByTagName('div'); + + expect(squareList?.length).toBe(64); + }); + + it('Square d1 should be light', async () => { + const d1Square = await screen.findByTestId('d1'); + + expect(d1Square).toHaveClass('square--light'); + }); + + it('Square f8 should be dark', async () => { + const f8Square = await screen.findByTestId('f8'); + + expect(f8Square).toHaveClass('square--dark'); + }); + + it('when click on square, then square was clicked', async () => { + const square = await screen.findByTestId('a2'); + userEvent.click(square); + + expect(publishViewEventMock).toBeCalledWith(new SquareWasClicked({ x: 1, y: 2 })); + }); +}); From 7d4c05bf81767da2fe0ffc33422eaecd6188a1ba Mon Sep 17 00:00:00 2001 From: Tomek <50457289+tomdworniczak@users.noreply.github.com> Date: Mon, 8 Feb 2021 23:30:33 +0100 Subject: [PATCH 066/134] Chess engine piece was moved piece was captured (#61) --- src/app/App.ts | 6 +- src/app/model/ChessEngine.ts | 58 ++++++- src/app/model/ChessModel.ts | 9 +- src/app/model/HelperFunctions.ts | 7 + src/app/model/Piece.ts | 6 + src/app/model/PieceWasCaptured.ts | 8 + src/app/model/PieceWasMoved.ts | 9 ++ src/app/model/Player.ts | 5 + test/app/model/ChessEngine.spec.ts | 145 ++++++++++++++++++ .../app/presenter/ChessBoardPresenter.spec.ts | 2 +- 10 files changed, 251 insertions(+), 4 deletions(-) create mode 100644 src/app/model/HelperFunctions.ts create mode 100644 src/app/model/PieceWasCaptured.ts create mode 100644 src/app/model/PieceWasMoved.ts create mode 100644 src/app/model/Player.ts create mode 100644 test/app/model/ChessEngine.spec.ts diff --git a/src/app/App.ts b/src/app/App.ts index 4f05221..0a15c3e 100644 --- a/src/app/App.ts +++ b/src/app/App.ts @@ -4,11 +4,15 @@ import { WebChessView } from './view/web/WebChessView'; import { ChessEngine } from './model/ChessEngine'; import { ChessModel } from './model/ChessModel'; import { InMemoryViewEventBus } from './view/events/InMemoryViewEventBus'; +import { ChessBoard } from './model/ChessBoard'; +import { SquareWithPiece } from './model/Types'; export const App = (): void => { const viewEventBus = new InMemoryViewEventBus(); const chessBoardView: ChessBoardView = new WebChessView(viewEventBus); - const chessModel: ChessModel = new ChessEngine(); + const boardWithPieces: SquareWithPiece = {}; + const chessBoard: ChessBoard = new ChessBoard(boardWithPieces); + const chessModel: ChessModel = new ChessEngine(chessBoard); const presenter = new ChessBoardPresenter(chessBoardView, chessModel); presenter.startGame(); }; diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index a6120c0..5f63364 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,3 +1,59 @@ import { ChessModel } from './ChessModel'; +import { Side, Square } from './Types'; +import { Piece } from './Piece'; +import { Player } from './Player'; +import { ChessBoard } from './ChessBoard'; +import { PieceWasMoved } from './PieceWasMoved'; +import { PieceWasCaptured } from './PieceWasCaptured'; +import { isDefined } from './HelperFunctions'; -export class ChessEngine implements ChessModel {} +export class ChessEngine implements ChessModel { + private currentSide: Side = Side.BLACK; + + constructor(private readonly board: ChessBoard) {} + + move(byPlayer: Player, squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[] { + const chosenPiece = this.board.onPositionPiece(squareFrom); + if (!chosenPiece) { + throw new Error('There is no piece on this square.'); + } + if (byPlayer.side == this.currentSide) { + throw new Error('Player can not move twice in a row.'); + } + if (byPlayer.side !== chosenPiece.side) { + throw new Error('Player can not move other players pieces.'); + } + if (!this.canMoveOnSquare(squareFrom, squareTo)) { + throw new Error('Piece can not move to given square.'); + } + + const pieceWasMoved: PieceWasMoved = { eventType: 'PieceWasMoved', piece: chosenPiece, from: squareFrom, to: squareTo }; + const pieceWasCaptured = this.pieceWasCaptured(squareTo, chosenPiece); + + this.onPieceWasMoved(pieceWasMoved); + return pieceWasCaptured ? [pieceWasMoved, pieceWasCaptured] : [pieceWasMoved]; + } + + private pieceWasCaptured(squareTo: Square, chosenPiece: Piece): PieceWasCaptured | undefined { + const pieceOnSquare = this.board.onPositionPiece(squareTo); + return isDefined(pieceOnSquare) && pieceOnSquare.isOpponentOf(chosenPiece) + ? { + eventType: 'PieceWasCaptured', + piece: pieceOnSquare, + onSquare: squareTo, + } + : undefined; + } + + private onPieceWasMoved(event: PieceWasMoved): void { + this.board.movePiece(event.from, event.to); + this.currentSide = event.piece.side; + } + + private canMoveOnSquare(squareFrom: Square, squareTo: Square): boolean { + const piecePossibleMoves = this.board.onPositionPiece(squareFrom)?.possibleMoves(squareFrom, this.board); + return ( + piecePossibleMoves?.some((possibleMove) => possibleMove.column === squareTo.column && possibleMove.row === squareTo.row) ?? false + ); + } +} diff --git a/src/app/model/ChessModel.ts b/src/app/model/ChessModel.ts index 43236a6..192f1f3 100644 --- a/src/app/model/ChessModel.ts +++ b/src/app/model/ChessModel.ts @@ -1 +1,8 @@ -export interface ChessModel {} +import { Player } from './Player'; +import { Square } from './Types'; +import { PieceWasMoved } from './PieceWasMoved'; +import { PieceWasCaptured } from './PieceWasCaptured'; + +export interface ChessModel { + move(byPlayer: Player, squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[]; +} diff --git a/src/app/model/HelperFunctions.ts b/src/app/model/HelperFunctions.ts new file mode 100644 index 0000000..a8595be --- /dev/null +++ b/src/app/model/HelperFunctions.ts @@ -0,0 +1,7 @@ +export function isDefined(x: T | undefined): x is T { + return typeof x !== 'undefined' && x !== null; +} + +export function isNotDefined(x: T | undefined): x is undefined { + return !isDefined(x); +} diff --git a/src/app/model/Piece.ts b/src/app/model/Piece.ts index 47ce999..0a01cf6 100644 --- a/src/app/model/Piece.ts +++ b/src/app/model/Piece.ts @@ -5,6 +5,8 @@ import { BOARDSIZE } from './Constances'; export abstract class Piece { protected constructor(public side: Side) {} + abstract possibleMoves(position: Square, board: PiecePositions): Square[]; + protected lineMoves(board: PiecePositions, actualPosition: Square, vector: Vector): Square[] { const nextSquare: Square = { column: columns[columns.indexOf(actualPosition.column) + vector.col], @@ -30,4 +32,8 @@ export abstract class Piece { protected checkIfOponent(position: Square, board: PiecePositions): boolean { return board.onPositionPiece(position)?.side !== this.side; } + + isOpponentOf(anotherPiece: Piece): boolean { + return anotherPiece.side !== this.side; + } } diff --git a/src/app/model/PieceWasCaptured.ts b/src/app/model/PieceWasCaptured.ts new file mode 100644 index 0000000..52ef156 --- /dev/null +++ b/src/app/model/PieceWasCaptured.ts @@ -0,0 +1,8 @@ +import { Piece } from './Piece'; +import { Square } from './Types'; + +export type PieceWasCaptured = { + eventType: 'PieceWasCaptured'; + piece: Piece; + onSquare: Square; +}; diff --git a/src/app/model/PieceWasMoved.ts b/src/app/model/PieceWasMoved.ts new file mode 100644 index 0000000..7ea4b75 --- /dev/null +++ b/src/app/model/PieceWasMoved.ts @@ -0,0 +1,9 @@ +import { Piece } from './Piece'; +import { Square } from './Types'; + +export type PieceWasMoved = { + eventType: 'PieceWasMoved'; + piece: Piece; + from: Square; + to: Square; +}; diff --git a/src/app/model/Player.ts b/src/app/model/Player.ts new file mode 100644 index 0000000..e55b6dd --- /dev/null +++ b/src/app/model/Player.ts @@ -0,0 +1,5 @@ +import { Side } from './Types'; + +export class Player { + constructor(readonly side: Side) {} +} diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts new file mode 100644 index 0000000..9fa93ef --- /dev/null +++ b/test/app/model/ChessEngine.spec.ts @@ -0,0 +1,145 @@ +import { ChessEngine } from '../../../src/app/model/ChessEngine'; +import { Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; +import { ChessBoard } from '../../../src/app/model/ChessBoard'; +import { Pawn } from '../../../src/app/model/Pawn'; +import { Player } from '../../../src/app/model/Player'; +import 'jest-extended'; +import { Queen } from '../../../src/app/model/Queen'; +import { Knight } from '../../../src/app/model/Knight'; + +describe('Chess Engine', () => { + it('Given white piece on A2 and black piece on A4, when move white piece from A2 to A3, then white piece was moved from A2 to A3', () => { + const whitePiece = new Pawn(Side.WHITE); + const blackPiece = new Pawn(Side.BLACK); + const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece }; + const chessBoard = new ChessBoard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const player = new Player(Side.WHITE); + const squareFrom: Square = { column: 'A', row: 2 }; + const squareTo: Square = { column: 'A', row: 3 }; + + expect(engine.move(player, squareFrom, squareTo)).toIncludeSameMembers([ + { + eventType: 'PieceWasMoved', + piece: whitePiece, + from: squareFrom, + to: squareTo, + }, + ]); + }); + + it('Given white piece on A2 and black piece on A4, when move white piece from A2 to A4, then white piece was moved from A2 to A4 and piece from A4 was captured', () => { + const whitePiece = new Queen(Side.WHITE); + const blackPiece = new Pawn(Side.BLACK); + const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece }; + const chessBoard = new ChessBoard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const player = new Player(Side.WHITE); + const squareFrom: Square = { column: 'A', row: 2 }; + const squareTo: Square = { column: 'A', row: 4 }; + + expect(engine.move(player, squareFrom, squareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasCaptured', piece: blackPiece, onSquare: squareTo }, + { eventType: 'PieceWasMoved', piece: whitePiece, from: squareFrom, to: squareTo }, + ]); + }); + + it('Given white pieces on C2 and B1 and black piece on B4, when move white piece to C3, then black piece attacks on C3 and then another white piece attacks on C3', () => { + const whitePawn = new Pawn(Side.WHITE); + const whiteKnight = new Knight(Side.WHITE); + const blackPawn = new Pawn(Side.BLACK); + const boardWithPieces: SquareWithPiece = { C2: whitePawn, B1: whiteKnight, B4: blackPawn }; + const chessBoard = new ChessBoard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const playerWhite = new Player(Side.WHITE); + const playerBlack = new Player(Side.BLACK); + + engine.move(playerWhite, { column: 'C', row: 2 }, { column: 'C', row: 3 }); + engine.move(playerBlack, { column: 'B', row: 4 }, { column: 'C', row: 3 }); + expect(engine.move(playerWhite, { column: 'B', row: 1 }, { column: 'C', row: 3 })).toIncludeSameMembers([ + { eventType: 'PieceWasCaptured', piece: blackPawn, onSquare: { column: 'C', row: 3 } }, + { eventType: 'PieceWasMoved', piece: whiteKnight, from: { column: 'B', row: 1 }, to: { column: 'C', row: 3 } }, + ]); + }); + + it('Should throw an Error if player wants to move opponents piece', () => { + const whitePiece = new Queen(Side.WHITE); + const blackPiece = new Pawn(Side.BLACK); + const boardWithPieces: SquareWithPiece = { A2: blackPiece, A4: whitePiece }; + const chessBoard = new ChessBoard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const player = new Player(Side.WHITE); + const squareFrom: Square = { column: 'A', row: 2 }; + const squareTo: Square = { column: 'A', row: 4 }; + + expect(() => engine.move(player, squareFrom, squareTo)).toThrowError('Player can not move other players pieces.'); + }); + + it('Should throw an Error if player wants to move piece to not available square', () => { + const whitePiece = new Pawn(Side.WHITE); + const boardWithPieces: SquareWithPiece = { A2: whitePiece }; + const chessBoard = new ChessBoard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const player = new Player(Side.WHITE); + const squareFrom: Square = { column: 'A', row: 2 }; + const squareTo: Square = { column: 'A', row: 5 }; + + expect(() => engine.move(player, squareFrom, squareTo)).toThrowError('Piece can not move to given square.'); + }); + + it('Should throw an Error if player wants to move twice', () => { + const whitePiece = new Pawn(Side.WHITE); + const boardWithPieces: SquareWithPiece = { A2: whitePiece }; + const chessBoard = new ChessBoard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const player = new Player(Side.WHITE); + const squareStart: Square = { column: 'A', row: 2 }; + const squareMiddle: Square = { column: 'A', row: 3 }; + const squareFinish: Square = { column: 'A', row: 4 }; + + engine.move(player, squareStart, squareMiddle); + + expect(() => engine.move(player, squareMiddle, squareFinish)).toThrowError('Player can not move twice in a row.'); + }); + + it('Should throw an Error if player wants to move piece that was just captured', () => { + const whitePiece = new Queen(Side.WHITE); + const blackPiece = new Pawn(Side.BLACK); + const boardWithPieces: SquareWithPiece = { A2: whitePiece, A6: blackPiece }; + const chessBoard = new ChessBoard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const playerWhite = new Player(Side.WHITE); + const playerBlack = new Player(Side.BLACK); + + engine.move(playerWhite, { column: 'A', row: 2 }, { column: 'A', row: 6 }); + + expect(() => + engine.move( + playerBlack, + { column: 'A', row: 6 }, + { + column: 'A', + row: 5, + }, + ), + ).toThrowError('Player can not move other players pieces.'); + }); + + it('Should throw an Error if chosen square is not occupied', () => { + const boardWithPieces: SquareWithPiece = {}; + const chessBoard = new ChessBoard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const playerWhite = new Player(Side.WHITE); + + expect(() => + engine.move( + playerWhite, + { column: 'A', row: 2 }, + { + column: 'A', + row: 6, + }, + ), + ).toThrowError('There is no piece on this square.'); + }); +}); diff --git a/test/app/presenter/ChessBoardPresenter.spec.ts b/test/app/presenter/ChessBoardPresenter.spec.ts index 6884d67..0613e2c 100644 --- a/test/app/presenter/ChessBoardPresenter.spec.ts +++ b/test/app/presenter/ChessBoardPresenter.spec.ts @@ -10,7 +10,7 @@ import { InMemoryViewEventBus } from '../../../src/app/view/events/InMemoryViewE describe('ChessBoardPresenter', () => { const viewEvents: ViewEventBus = new InMemoryViewEventBus(); const view: ChessBoardView = chessBoardViewMock(viewEvents); - const model: ChessModel = {}; + const model: ChessModel = { move: jest.fn() }; const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); it('when square was clicked on the view, then selected piece should be shown', () => { From 41ad8f699a92cfb9154913fc833e996da9c3c7e7 Mon Sep 17 00:00:00 2001 From: lamparina <59768305+lamparina@users.noreply.github.com> Date: Thu, 11 Feb 2021 12:24:20 +0100 Subject: [PATCH 067/134] =?UTF-8?q?#40=20MODEL=20|=20Ruch=20dla=20KR=C3=93?= =?UTF-8?q?LA=20(#66)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add test for king's moves * Add king's movement * Refactor test * Rename method Co-authored-by: lamparina --- src/app/model/King.ts | 27 ++++++++++++++++++ src/app/model/Pawn.ts | 4 +-- src/app/model/Piece.ts | 4 +-- test/app/model/King.spec.ts | 57 +++++++++++++++++++++++++++++++++++++ 4 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 src/app/model/King.ts create mode 100644 test/app/model/King.spec.ts diff --git a/src/app/model/King.ts b/src/app/model/King.ts new file mode 100644 index 0000000..cdf5c52 --- /dev/null +++ b/src/app/model/King.ts @@ -0,0 +1,27 @@ +import { PiecePositions } from './PiecesPositions'; +import { Piece } from './Piece'; +import { columns, Row, Side, Square } from './Types'; +import { PiecePossibleMoves } from './PiecePossibleMoves'; + +export class King extends Piece implements PiecePossibleMoves { + constructor(side: Side) { + super(side); + } + + possibleMoves(position: Square, board: PiecePositions): Square[] { + const currentColumnNumber = columns.indexOf(position.column); + const currentRowNumber = position.row; + return [ + { column: columns[currentColumnNumber - 1], row: (currentRowNumber - 1) as Row }, + { column: columns[currentColumnNumber - 1], row: currentRowNumber as Row }, + { column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1) as Row }, + { column: columns[currentColumnNumber], row: (currentRowNumber - 1) as Row }, + { column: columns[currentColumnNumber], row: (currentRowNumber + 1) as Row }, + { column: columns[currentColumnNumber + 1], row: (currentRowNumber - 1) as Row }, + { column: columns[currentColumnNumber + 1], row: currentRowNumber as Row }, + { column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1) as Row }, + ] + .filter(King.isWithinChessboardBorders) + .filter((square) => this.checkIfNotSameColorPiece(square, board)); + } +} diff --git a/src/app/model/Pawn.ts b/src/app/model/Pawn.ts index 381cf66..8d014bd 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/Pawn.ts @@ -47,7 +47,7 @@ export class Pawn extends Piece implements PiecePossibleMoves { column: columns[currentColumnNumber + 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row, }; - if (board.onPositionPiece(rightDiagonal) && this.checkIfOponent(rightDiagonal, board)) { + if (board.onPositionPiece(rightDiagonal) && this.checkIfNotSameColorPiece(rightDiagonal, board)) { movesToGo.push(rightDiagonal); } @@ -55,7 +55,7 @@ export class Pawn extends Piece implements PiecePossibleMoves { column: columns[currentColumnNumber - 1], row: (currentRowNumber + 1 * this.nextRowDifference()) as Row, }; - if (board.onPositionPiece(leftDiagonal) && this.checkIfOponent(leftDiagonal, board)) { + if (board.onPositionPiece(leftDiagonal) && this.checkIfNotSameColorPiece(leftDiagonal, board)) { movesToGo.push(leftDiagonal); } diff --git a/src/app/model/Piece.ts b/src/app/model/Piece.ts index 0a01cf6..7693693 100644 --- a/src/app/model/Piece.ts +++ b/src/app/model/Piece.ts @@ -18,7 +18,7 @@ export abstract class Piece { } const isSquareOccupied = board.onPositionPiece(nextSquare); if (isSquareOccupied) { - return this.checkIfOponent(nextSquare, board) ? [nextSquare] : []; + return this.checkIfNotSameColorPiece(nextSquare, board) ? [nextSquare] : []; } else { return [nextSquare].concat(this.lineMoves(board, nextSquare, vector)); } @@ -29,7 +29,7 @@ export abstract class Piece { return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; } - protected checkIfOponent(position: Square, board: PiecePositions): boolean { + protected checkIfNotSameColorPiece(position: Square, board: PiecePositions): boolean { return board.onPositionPiece(position)?.side !== this.side; } diff --git a/test/app/model/King.spec.ts b/test/app/model/King.spec.ts new file mode 100644 index 0000000..639ff8a --- /dev/null +++ b/test/app/model/King.spec.ts @@ -0,0 +1,57 @@ +import 'jest-extended'; +import { boardWithPieces, emptyBoard } from './BoardFixture'; +import { Side, Square } from '../../../src/app/model/Types'; +import { King } from '../../../src/app/model/King'; +import { Pawn } from '../../../src/app/model/Pawn'; +import { Knight } from '../../../src/app/model/Knight'; + +describe("King's possible moves", () => { + it('When king is on E1, not surrounded by any piece and all possible moves are legal (none of squares is checked)', () => { + const whiteKing = new King(Side.WHITE); + const whiteKingPosition: Square = { column: 'E', row: 1 }; + const kingPossibleMoves = whiteKing.possibleMoves(whiteKingPosition, emptyBoard); + + const expectedKingPossibleMoves = [ + { column: 'D', row: 1 }, + { column: 'D', row: 2 }, + { column: 'E', row: 2 }, + { column: 'F', row: 1 }, + { column: 'F', row: 2 }, + ]; + expect(kingPossibleMoves).toIncludeSameMembers(expectedKingPossibleMoves); + }); + + it('When white king is on H1 and there are some white pieces around it', () => { + const testBoard = boardWithPieces({ + G2: new Pawn(Side.WHITE), + H2: new Pawn(Side.WHITE), + }); + const whiteKing = new King(Side.WHITE); + const whiteKingPosition: Square = { column: 'H', row: 1 }; + const kingPossibleMoves = whiteKing.possibleMoves(whiteKingPosition, testBoard); + + expect(kingPossibleMoves).toIncludeSameMembers([{ column: 'G', row: 1 }]); + }); + + it('When black king is on F6, surrounded by some pieces and all possible moves are legal (none of squares is checked)', () => { + const testBoard = boardWithPieces({ + E7: new Knight(Side.BLACK), + F7: new Pawn(Side.BLACK), + G7: new Pawn(Side.BLACK), + F5: new Knight(Side.WHITE), + G6: new Pawn(Side.WHITE), + }); + const blackKing = new King(Side.BLACK); + const blackKingPosition: Square = { column: 'F', row: 6 }; + const kingPossibleMoves = blackKing.possibleMoves(blackKingPosition, testBoard); + + const expectedKingPossibleMoves = [ + { column: 'E', row: 5 }, + { column: 'E', row: 6 }, + { column: 'F', row: 5 }, + { column: 'G', row: 5 }, + { column: 'G', row: 6 }, + ]; + expect(kingPossibleMoves).toIncludeSameMembers(expectedKingPossibleMoves); + }); +}); From 7205c84d4ab9a0ab4b5e630cf65f66511e4f4afd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Thu, 11 Feb 2021 13:27:35 +0100 Subject: [PATCH 068/134] View/#26 pieces displaying (#54) --- package-lock.json | 13936 +--------------- sass/components/_chessboard.scss | 1 + sass/components/_piece.scss | 22 + sass/style.scss | 1 + src/app/App.ts | 8 +- src/app/model/ChessBoard.ts | 21 - src/app/model/ChessEngine.ts | 19 +- src/app/model/ChessModel.ts | 3 +- src/app/model/Chessboard.ts | 22 + src/app/model/Constances.ts | 40 +- src/app/model/PieceWasCaptured.ts | 2 +- src/app/model/PieceWasMoved.ts | 2 +- src/app/model/PiecesPositions.ts | 2 +- src/app/model/Types.ts | 2 +- src/app/model/index.ts | 13 + src/app/model/{ => pieces}/Bishop.ts | 7 +- src/app/model/{ => pieces}/King.ts | 7 +- src/app/model/{ => pieces}/Knight.ts | 7 +- src/app/model/{ => pieces}/Pawn.ts | 7 +- src/app/model/{ => pieces}/Piece.ts | 9 +- src/app/model/{ => pieces}/Queen.ts | 7 +- src/app/model/{ => pieces}/Rook.ts | 7 +- src/app/model/pieces/index.ts | 7 + src/app/presenter/ChessBoardPresenter.ts | 5 +- src/app/view/ChessBoardView.ts | 3 +- src/app/view/Types.ts | 1 + src/app/view/web/WebChessView.ts | 28 +- test/app/model/Bishop.spec.ts | 4 +- test/app/model/BoardFixture.ts | 2 +- test/app/model/ChessBoard.spec.ts | 16 +- test/app/model/ChessEngine.spec.ts | 24 +- test/app/model/King.spec.ts | 6 +- test/app/model/Knight.spec.ts | 4 +- test/app/model/Pawn.spec.ts | 3 +- test/app/model/Queen.spec.ts | 4 +- test/app/model/Rook.spec.ts | 4 +- .../app/presenter/ChessBoardPresenter.spec.ts | 9 +- test/app/view/web/WebChessBoardView.spec.ts | 45 +- 38 files changed, 275 insertions(+), 14035 deletions(-) create mode 100644 sass/components/_piece.scss delete mode 100644 src/app/model/ChessBoard.ts create mode 100644 src/app/model/Chessboard.ts create mode 100644 src/app/model/index.ts rename src/app/model/{ => pieces}/Bishop.ts (73%) rename src/app/model/{ => pieces}/King.ts (85%) rename src/app/model/{ => pieces}/Knight.ts (88%) rename src/app/model/{ => pieces}/Pawn.ts (92%) rename src/app/model/{ => pieces}/Piece.ts (80%) rename src/app/model/{ => pieces}/Queen.ts (80%) rename src/app/model/{ => pieces}/Rook.ts (73%) create mode 100644 src/app/model/pieces/index.ts create mode 100644 src/app/view/Types.ts diff --git a/package-lock.json b/package-lock.json index 37687ea..f19ec51 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13926 +1,8 @@ { "name": "coderscamp2020.project.typescript.chess", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "coderscamp2020.project.typescript.chess", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "parcel": "^1.12.4", - "regenerator-runtime": "^0.13.7", - "uuid": "^8.3.0" - }, - "devDependencies": { - "@babel/core": "^7.11.6", - "@babel/preset-env": "^7.11.5", - "@testing-library/dom": "^7.26.6", - "@testing-library/jest-dom": "^5.11.6", - "@testing-library/user-event": "^12.2.2", - "@types/jest": "^26.0.20", - "@types/node": "^14.14.22", - "@typescript-eslint/eslint-plugin": "^4.14.0", - "@typescript-eslint/parser": "^4.14.0", - "babel-jest": "^26.5.0", - "cssnano": "^4.1.10", - "eslint": "^7.18.0", - "husky": "^4.3.6", - "jest": "^26.6.3", - "jest-extended": "^0.11.5", - "jest-fetch-mock": "^3.0.3", - "msw": "^0.21.3", - "parcel-bundler": "^1.12.4", - "parcel-plugin-static-files-copy": "^2.5.0", - "prettier": "2.2.1", - "pretty-quick": "^3.1.0", - "rimraf": "^3.0.2", - "sass": "^1.30.0", - "ts-jest": "^26.4.4", - "tsc-watch": "^4.2.9", - "typescript": "^4.1.3" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" - }, - "node_modules/@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", - "dependencies": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", - "dependencies": { - "@babel/types": "^7.12.10" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", - "dependencies": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.14.5", - "semver": "^5.5.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "regexpu-core": "^4.7.1" - } - }, - "node_modules/@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dependencies": { - "@babel/types": "^7.12.10" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "dependencies": { - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "dependencies": { - "@babel/types": "^7.12.5" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "dependencies": { - "@babel/types": "^7.12.10" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", - "dependencies": { - "@babel/types": "^7.12.11" - } - }, - "node_modules/@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==" - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", - "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "dependencies": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/highlight/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", - "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz", - "integrity": "sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", - "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.10.tgz", - "integrity": "sha512-0ti12wLTLeUIzu9U7kjqIn4MyOL7+Wibc7avsHhj4o1l5C0ATs8p2IMHrVYjm9t9wzhfEO6S3kxax0Rpdo8LTg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-flow": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", - "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", - "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", - "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.10", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.12.1", - "@babel/types": "^7.12.12" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", - "dependencies": { - "regenerator-transform": "^0.14.2" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", - "dependencies": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "node_modules/@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", - "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", - "dev": true, - "dependencies": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@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 - }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@eslint/eslintrc/node_modules/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, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@eslint/eslintrc/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" - }, - "node_modules/@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, - "dependencies": { - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/core/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/core/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "node-notifier": "^8.0.0" - } - }, - "node_modules/@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, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/source-map/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@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, - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/transform/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/transform/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dependencies": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.scandir/node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@open-draft/until": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", - "integrity": "sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==", - "dev": true - }, - "node_modules/@parcel/fs": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz", - "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", - "dependencies": { - "@parcel/utils": "^1.11.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.2" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@parcel/fs/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/@parcel/logger": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz", - "integrity": "sha512-9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==", - "dependencies": { - "@parcel/workers": "^1.11.0", - "chalk": "^2.1.0", - "grapheme-breaker": "^0.3.2", - "ora": "^2.1.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@parcel/logger/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@parcel/logger/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@parcel/logger/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@parcel/logger/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@parcel/logger/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@parcel/logger/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@parcel/utils": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz", - "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@parcel/watcher": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz", - "integrity": "sha512-od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==", - "dependencies": { - "@parcel/utils": "^1.11.0", - "chokidar": "^2.1.5" - } - }, - "node_modules/@parcel/workers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz", - "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==", - "dependencies": { - "@parcel/utils": "^1.11.0", - "physical-cpu-count": "^2.0.0" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@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, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@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, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@testing-library/dom": { - "version": "7.29.4", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.4.tgz", - "integrity": "sha512-CtrJRiSYEfbtNGtEsd78mk1n1v2TUbeABlNIcOCJdDfkN5/JTOwQEbbQpoSRxGqzcWPgStMvJ4mNolSuBRv1NA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^4.2.2", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.4", - "lz-string": "^1.4.4", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "5.11.9", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.9.tgz", - "integrity": "sha512-Mn2gnA9d1wStlAIT2NU8J15LNob0YFBVjs2aEQ3j8rsfRQo+lAs7/ui1i2TGaJjapLmuNPLTsrm+nPjmZDwpcQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^4.2.2", - "chalk": "^3.0.0", - "css": "^3.0.0", - "css.escape": "^1.5.1", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/user-event": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.6.0.tgz", - "integrity": "sha512-FNEH/HLmOk5GO70I52tKjs7WvGYckeE/SrnLX/ip7z2IGbffyd5zOUM1tZ10vsTphqm+VbDFI0oaXu0wcfQsAQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/@types/aria-query": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz", - "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==", - "dev": true - }, - "node_modules/@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, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==", - "dev": true - }, - "node_modules/@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, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@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 - }, - "node_modules/@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, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@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, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "26.0.20", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", - "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", - "dev": true, - "dependencies": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.14.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", - "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", - "dev": true - }, - "node_modules/@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 - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", - "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", - "dev": true - }, - "node_modules/@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" - }, - "node_modules/@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 - }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.9.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz", - "integrity": "sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ==", - "dev": true, - "dependencies": { - "@types/jest": "*" - } - }, - "node_modules/@types/yargs": { - "version": "15.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", - "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz", - "integrity": "sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.14.0", - "@typescript-eslint/scope-manager": "4.14.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz", - "integrity": "sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.14.0", - "@typescript-eslint/types": "4.14.0", - "@typescript-eslint/typescript-estree": "4.14.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz", - "integrity": "sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "4.14.0", - "@typescript-eslint/types": "4.14.0", - "@typescript-eslint/typescript-estree": "4.14.0", - "debug": "^4.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz", - "integrity": "sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.14.0", - "@typescript-eslint/visitor-keys": "4.14.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz", - "integrity": "sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A==", - "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz", - "integrity": "sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.14.0", - "@typescript-eslint/visitor-keys": "4.14.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz", - "integrity": "sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.14.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-to-html": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", - "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", - "dependencies": { - "entities": "^1.1.2" - }, - "bin": { - "ansi-to-html": "bin/ansi-to-html" - }, - "engines": { - "node": "*" - } - }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/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=", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - } - }, - "node_modules/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, - "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "node_modules/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babylon-walk": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz", - "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=", - "dependencies": { - "babel-runtime": "^6.11.6", - "babel-types": "^6.15.0", - "lodash.clone": "^4.5.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/brfs": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", - "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", - "dependencies": { - "quote-stream": "^1.0.1", - "resolve": "^1.1.5", - "static-module": "^2.2.0", - "through2": "^2.0.0" - }, - "bin": { - "brfs": "bin/cmd.js" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "node_modules/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==" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-sign/node_modules/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==" - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserify-zlib/node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/browserslist": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", - "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", - "dependencies": { - "caniuse-lite": "^1.0.30001173", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.634", - "escalade": "^3.1.1", - "node-releases": "^1.1.69" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/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==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "node_modules/call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "engines": { - "node": ">=4" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001178", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001178.tgz", - "integrity": "sha512-VtdZLC0vsXykKni8Uztx45xynytOi71Ufx9T8kHptSw9AL4dpqailUJJHavttuzUe1KYuBYtChiWv+BAb7mPmQ==" - }, - "node_modules/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, - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/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, - "engines": { - "node": ">=10" - } - }, - "node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/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 - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/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 - }, - "node_modules/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==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", - "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cliui/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/coa/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/coa/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/coa/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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 - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", - "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" - } - }, - "node_modules/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/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==" - }, - "node_modules/color-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "node_modules/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==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "node_modules/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==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "hasInstallScript": true - }, - "node_modules/core-js-compat": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", - "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", - "dependencies": { - "browserslist": "^4.16.1", - "semver": "7.0.0" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-js-pure": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", - "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==", - "dev": true, - "hasInstallScript": true - }, - "node_modules/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=" - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "node-fetch": "2.6.1" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, - "node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "engines": { - "node": "*" - } - }, - "node_modules/css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dependencies": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - }, - "engines": { - "node": ">4" - } - }, - "node_modules/css-modules-loader-core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", - "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", - "dependencies": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.1", - "postcss-modules-extract-imports": "1.1.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/chalk/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", - "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", - "dependencies": { - "chalk": "^1.1.3", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dependencies": { - "has-flag": "^1.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "node_modules/css-selector-tokenizer": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", - "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", - "dependencies": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2" - } - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", - "dev": true - }, - "node_modules/css/node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dependencies": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dependencies": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", - "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dependencies": { - "cssom": "0.3.x" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } - }, - "node_modules/deasync": { - "version": "0.1.21", - "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz", - "integrity": "sha512-kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "node-addon-api": "^1.7.1" - }, - "engines": { - "node": ">=0.11.0" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/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=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/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=" - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/defaults/node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/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==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz", - "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==", - "dev": true - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dependencies": { - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", - "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", - "engines": { - "node": ">=4.6.0" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.3.641", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.641.tgz", - "integrity": "sha512-b0DLhsHSHESC1I+Nx6n4w4Lr61chMd3m/av1rZQhS2IXTzaS5BMM5N+ldWdMIlni9CITMRM09m8He4+YV/92TA==" - }, - "node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/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 - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/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, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/envinfo": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", - "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-abstract/node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "node_modules/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==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", - "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", - "dependencies": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", - "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.3.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.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", - "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.20", - "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": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/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, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-utils/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-stream": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", - "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", - "dev": true, - "dependencies": { - "duplexer": "~0.1.1", - "from": "~0", - "map-stream": "~0.1.0", - "pause-stream": "0.0.11", - "split": "0.3", - "stream-combiner": "~0.0.4", - "through": "~2.3.1" - } - }, - "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/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 - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dev": true, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/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==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/falafel": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", - "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", - "dependencies": { - "acorn": "^7.1.1", - "foreach": "^2.0.5", - "isarray": "^2.0.1", - "object-keys": "^1.0.6" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/falafel/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/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==" - }, - "node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/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==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "node_modules/fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" - }, - "node_modules/fastq": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", - "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-versions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", - "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", - "dev": true, - "dependencies": { - "semver-regex": "^3.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "engines": { - "node": "*" - } - }, - "node_modules/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==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/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 - }, - "node_modules/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==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/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, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "node_modules/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, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "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" - }, - "engines": { - "node": "*" - } - }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/globby/node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/globby/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby/node_modules/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby/node_modules/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, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globby/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/globby/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "node_modules/grapheme-breaker": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", - "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", - "dependencies": { - "brfs": "^1.2.0", - "unicode-trie": "^0.3.1" - } - }, - "node_modules/graphql": { - "version": "15.4.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.4.0.tgz", - "integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/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 - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/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==" - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/headers-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/headers-utils/-/headers-utils-1.2.0.tgz", - "integrity": "sha512-4/BMXcWrJErw7JpM87gF8MNEXcIMLzepYZjNRv/P9ctgupl2Ywa3u1PgHtNhSRq84bHH9Ndlkdy7bSi+bZ9I9A==", - "dev": true - }, - "node_modules/hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/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 - }, - "node_modules/hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "node_modules/hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "node_modules/html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" - }, - "node_modules/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dependencies": { - "whatwg-encoding": "^1.0.1" - } - }, - "node_modules/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 - }, - "node_modules/html-tags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz", - "integrity": "sha1-x43mW1Zjqll5id0rerSSANfk25g=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/htmlnano": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.8.tgz", - "integrity": "sha512-q5gbo4SIDAE5sfJ5V0UD6uu+n1dcO/Mpr0B6SlDlJBoV7xKPne4uG4UwrT8vUWjdjIPJl95TY8EDuEbBW2TG0A==", - "dependencies": { - "cssnano": "^4.1.10", - "posthtml": "^0.13.4", - "posthtml-render": "^1.3.0", - "purgecss": "^2.3.0", - "relateurl": "^0.2.7", - "srcset": "^3.0.0", - "svgo": "^1.3.2", - "terser": "^4.8.0", - "timsort": "^0.3.0", - "uncss": "^0.17.3" - } - }, - "node_modules/htmlnano/node_modules/posthtml": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.13.4.tgz", - "integrity": "sha512-i2oTo/+dwXGC6zaAQSF6WZEQSbEqu10hsvg01DWzGAfZmy31Iiy9ktPh9nnXDfZiYytjxTIvxoK4TI0uk4QWpw==", - "dependencies": { - "posthtml-parser": "^0.5.0", - "posthtml-render": "^1.2.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/htmlnano/node_modules/posthtml-parser": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.5.3.tgz", - "integrity": "sha512-uHosRn0y+1wbnlYKrqMjBPoo/kK5LPYImLtiETszNFYfFwAD3cQdD1R2E13Mh5icBxkHj+yKtlIHozCsmVWD/Q==", - "dependencies": { - "htmlparser2": "^3.9.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/htmlnano/node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "node_modules/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, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/husky": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", - "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "compare-versions": "^3.6.0", - "cosmiconfig": "^7.0.0", - "find-versions": "^4.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^5.0.0", - "please-upgrade-node": "^3.2.0", - "slash": "^3.0.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "husky-run": "bin/run.js", - "husky-upgrade": "lib/upgrader/bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/husky/node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/husky/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/husky/node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/husky/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/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==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/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, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dependencies": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "node_modules/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==", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-html": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz", - "integrity": "sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=", - "dependencies": { - "html-tags": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/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==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dependencies": { - "html-comment-regex": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/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, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", - "dev": true, - "dependencies": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-changed-files/node_modules/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==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-config/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-config/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jest-environment-jsdom/node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/jsdom": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", - "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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 - }, - "node_modules/jest-environment-jsdom/node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^2.0.2", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", - "dev": true, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-extended": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-0.11.5.tgz", - "integrity": "sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q==", - "dev": true, - "dependencies": { - "expect": "^24.1.0", - "jest-get-type": "^22.4.3", - "jest-matcher-utils": "^22.0.0" - } - }, - "node_modules/jest-extended/node_modules/@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "dev": true, - "dependencies": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "dev": true, - "dependencies": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/jest-extended/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/jest-extended/node_modules/@types/yargs": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", - "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-extended/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-extended/node_modules/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, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-extended/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-extended/node_modules/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, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-extended/node_modules/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, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/jest-extended/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/jest-extended/node_modules/diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/expect/node_modules/jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/expect/node_modules/jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-extended/node_modules/jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/jest-diff/node_modules/jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/jest-get-type": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", - "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", - "dev": true - }, - "node_modules/jest-extended/node_modules/jest-matcher-utils": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", - "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1", - "jest-get-type": "^22.4.3", - "pretty-format": "^22.4.3" - } - }, - "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" - } - }, - "node_modules/jest-extended/node_modules/jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/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 - }, - "node_modules/jest-extended/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-extended/node_modules/stack-utils": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", - "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-extended/node_modules/stack-utils/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-extended/node_modules/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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-fetch-mock": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", - "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", - "dev": true, - "dependencies": { - "cross-fetch": "^3.0.4", - "promise-polyfill": "^8.1.3" - } - }, - "node_modules/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, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/jest-haste-map/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-haste-map/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/fsevents": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", - "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/jest-haste-map/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-haste-map/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-message-util/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-message-util/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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, - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-util/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-util/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "dev": true, - "dependencies": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "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.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js-yaml/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "node_modules/jsdom": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", - "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", - "dependencies": { - "abab": "^2.0.0", - "acorn": "^6.0.4", - "acorn-globals": "^4.3.0", - "array-equal": "^1.0.0", - "cssom": "^0.3.4", - "cssstyle": "^1.1.1", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.0", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.1.3", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.5.0", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^6.1.2", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsdom/node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/jsdom/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jsdom/node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/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 - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "node_modules/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==" - }, - "node_modules/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 - }, - "node_modules/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=" - }, - "node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/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 - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "node_modules/lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", - "dev": true, - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.22.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", - "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", - "dependencies": { - "vlq": "^0.2.2" - } - }, - "node_modules/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, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "dependencies": { - "tmpl": "1.0.x" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", - "dev": true - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/merge-source-map": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", - "dependencies": { - "source-map": "^0.5.6" - } - }, - "node_modules/merge-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", - "dependencies": { - "mime-db": "1.45.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/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==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mri": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", - "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/msw": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/msw/-/msw-0.21.3.tgz", - "integrity": "sha512-voPc/EJsjarvi454vSEuozZQQqLG4AUHT6qQL5Ah47lq7sGCpc7icByeUlfvEj5+MvaugN0c7JwXyCa2rxu8cA==", - "dev": true, - "dependencies": { - "@open-draft/until": "^1.0.3", - "@types/cookie": "^0.4.0", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cookie": "^0.4.1", - "graphql": "^15.3.0", - "headers-utils": "^1.2.0", - "node-fetch": "^2.6.1", - "node-match-path": "^0.4.4", - "node-request-interceptor": "^0.5.1", - "statuses": "^2.0.0", - "yargs": "^16.0.3" - }, - "bin": { - "msw": "cli/index.js" - } - }, - "node_modules/msw/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/msw/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/msw/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/msw/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/fsevents": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", - "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/msw/node_modules/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, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/msw/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/msw/node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/msw/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/msw/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/msw/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/msw/node_modules/y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/msw/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/msw/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/multimatch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", - "dev": true, - "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" - }, - "node_modules/node-cleanup": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", - "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=", - "dev": true - }, - "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "dev": true, - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", - "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", - "engines": { - "node": "*" - } - }, - "node_modules/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/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "node_modules/node-match-path": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/node-match-path/-/node-match-path-0.4.4.tgz", - "integrity": "sha512-pBq9gp7TG0r0VXuy/oeZmQsjBSnYQo7G886Ly/B3azRwZuEtHCY155dzmfoKWcDPGgyfIGD8WKVC7h3+6y7yTg==", - "dev": true - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "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" - } - }, - "node_modules/node-notifier/node_modules/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, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-notifier/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-notifier/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/node-releases": { - "version": "1.1.70", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", - "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" - }, - "node_modules/node-request-interceptor": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/node-request-interceptor/-/node-request-interceptor-0.5.9.tgz", - "integrity": "sha512-M1a3aulCW/kqajDn/w+qBX86G4So7utJGlrODAjQ1piz/kR8ZaDfd/wrJnsuPtUM12F0YxsnXG8qRKFkIEIxsw==", - "dev": true, - "dependencies": { - "@open-draft/until": "^1.0.3", - "debug": "^4.3.0", - "headers-utils": "^1.2.0" - } - }, - "node_modules/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, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", - "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", - "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", - "dev": true, - "bin": { - "opencollective-postinstall": "index.js" - } - }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", - "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", - "dependencies": { - "chalk": "^2.3.1", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.1.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^4.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/ora/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" - }, - "node_modules/parcel": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/parcel/-/parcel-1.12.4.tgz", - "integrity": "sha512-qfc74e2/R4pCoU6L/ZZnK9k3iDS6ir4uHea0e9th9w52eehcAGf2ido/iABq9PBXdsIOe4NSY3oUm7Khe7+S3w==", - "hasInstallScript": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.4.4", - "@babel/generator": "^7.4.4", - "@babel/parser": "^7.4.4", - "@babel/plugin-transform-flow-strip-types": "^7.4.4", - "@babel/plugin-transform-modules-commonjs": "^7.4.4", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/preset-env": "^7.4.4", - "@babel/runtime": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4", - "@iarna/toml": "^2.2.0", - "@parcel/fs": "^1.11.0", - "@parcel/logger": "^1.11.1", - "@parcel/utils": "^1.11.0", - "@parcel/watcher": "^1.12.1", - "@parcel/workers": "^1.11.0", - "ansi-to-html": "^0.6.4", - "babylon-walk": "^1.0.2", - "browserslist": "^4.1.0", - "chalk": "^2.1.0", - "clone": "^2.1.1", - "command-exists": "^1.2.6", - "commander": "^2.11.0", - "core-js": "^2.6.5", - "cross-spawn": "^6.0.4", - "css-modules-loader-core": "^1.1.0", - "cssnano": "^4.0.0", - "deasync": "^0.1.14", - "dotenv": "^5.0.0", - "dotenv-expand": "^5.1.0", - "envinfo": "^7.3.1", - "fast-glob": "^2.2.2", - "filesize": "^3.6.0", - "get-port": "^3.2.0", - "htmlnano": "^0.2.2", - "is-glob": "^4.0.0", - "is-url": "^1.2.2", - "js-yaml": "^3.10.0", - "json5": "^1.0.1", - "micromatch": "^3.0.4", - "mkdirp": "^0.5.1", - "node-forge": "^0.7.1", - "node-libs-browser": "^2.0.0", - "opn": "^5.1.0", - "postcss": "^7.0.11", - "postcss-value-parser": "^3.3.1", - "posthtml": "^0.11.2", - "posthtml-parser": "^0.4.0", - "posthtml-render": "^1.1.3", - "resolve": "^1.4.0", - "semver": "^5.4.1", - "serialize-to-js": "^3.0.0", - "serve-static": "^1.12.4", - "source-map": "0.6.1", - "terser": "^3.7.3", - "v8-compile-cache": "^2.0.0", - "ws": "^5.1.1" - }, - "bin": { - "parcel": "bin/cli.js" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/parcel-bundler": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.4.tgz", - "integrity": "sha512-G+iZGGiPEXcRzw0fiRxWYCKxdt/F7l9a0xkiU4XbcVRJCSlBnioWEwJMutOCCpoQmaQtjB4RBHDGIHN85AIhLQ==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.4.4", - "@babel/generator": "^7.4.4", - "@babel/parser": "^7.4.4", - "@babel/plugin-transform-flow-strip-types": "^7.4.4", - "@babel/plugin-transform-modules-commonjs": "^7.4.4", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/preset-env": "^7.4.4", - "@babel/runtime": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4", - "@iarna/toml": "^2.2.0", - "@parcel/fs": "^1.11.0", - "@parcel/logger": "^1.11.1", - "@parcel/utils": "^1.11.0", - "@parcel/watcher": "^1.12.1", - "@parcel/workers": "^1.11.0", - "ansi-to-html": "^0.6.4", - "babylon-walk": "^1.0.2", - "browserslist": "^4.1.0", - "chalk": "^2.1.0", - "clone": "^2.1.1", - "command-exists": "^1.2.6", - "commander": "^2.11.0", - "core-js": "^2.6.5", - "cross-spawn": "^6.0.4", - "css-modules-loader-core": "^1.1.0", - "cssnano": "^4.0.0", - "deasync": "^0.1.14", - "dotenv": "^5.0.0", - "dotenv-expand": "^5.1.0", - "envinfo": "^7.3.1", - "fast-glob": "^2.2.2", - "filesize": "^3.6.0", - "get-port": "^3.2.0", - "htmlnano": "^0.2.2", - "is-glob": "^4.0.0", - "is-url": "^1.2.2", - "js-yaml": "^3.10.0", - "json5": "^1.0.1", - "micromatch": "^3.0.4", - "mkdirp": "^0.5.1", - "node-forge": "^0.7.1", - "node-libs-browser": "^2.0.0", - "opn": "^5.1.0", - "postcss": "^7.0.11", - "postcss-value-parser": "^3.3.1", - "posthtml": "^0.11.2", - "posthtml-parser": "^0.4.0", - "posthtml-render": "^1.1.3", - "resolve": "^1.4.0", - "semver": "^5.4.1", - "serialize-to-js": "^3.0.0", - "serve-static": "^1.12.4", - "source-map": "0.6.1", - "terser": "^3.7.3", - "v8-compile-cache": "^2.0.0", - "ws": "^5.1.1" - }, - "bin": { - "parcel": "bin/cli.js" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/parcel-bundler/node_modules/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, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel-bundler/node_modules/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, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel-bundler/node_modules/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, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/parcel-bundler/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/parcel-bundler/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel-bundler/node_modules/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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel-plugin-static-files-copy": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/parcel-plugin-static-files-copy/-/parcel-plugin-static-files-copy-2.5.0.tgz", - "integrity": "sha512-5rxOPw3iV+WXhePfByoIxsUlL4I0o95CgcF31gwgnhPuj2q6tVPuzEAJsag9bWJr5Vd/SXFPTNsUAGAg4jP07Q==", - "dev": true, - "dependencies": { - "minimatch": "3.0.4", - "path": "0.12.7" - } - }, - "node_modules/parcel/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/parcel/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/parcel/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "dev": true, - "dependencies": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/path/node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", - "dev": true, - "dependencies": { - "through": "~2.3" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "node_modules/physical-cpu-count": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", - "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dev": true, - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "dependencies": { - "semver-compare": "^1.0.0" - } - }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" - }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "dependencies": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "node_modules/postcss-calc/node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - }, - "node_modules/postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dependencies": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dependencies": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", - "dependencies": { - "postcss": "^6.0.1" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss-modules-extract-imports/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dependencies": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dependencies": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss-modules-local-by-default/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dependencies": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dependencies": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "node_modules/postcss-modules-scope/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss-modules-scope/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss-modules-scope/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope/node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dependencies": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-modules-scope/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dependencies": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - } - }, - "node_modules/postcss-modules-values/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss-modules-values/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss-modules-values/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values/node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dependencies": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-modules-values/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dependencies": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dependencies": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dependencies": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/posthtml": { - "version": "0.11.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz", - "integrity": "sha512-C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==", - "dependencies": { - "posthtml-parser": "^0.4.1", - "posthtml-render": "^1.1.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/posthtml-parser": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz", - "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==", - "dependencies": { - "htmlparser2": "^3.9.2" - } - }, - "node_modules/posthtml-render": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", - "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", - "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/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, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/pretty-quick": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.0.tgz", - "integrity": "sha512-DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "execa": "^4.0.0", - "find-up": "^4.1.0", - "ignore": "^5.1.4", - "mri": "^1.1.5", - "multimatch": "^4.0.0" - }, - "bin": { - "pretty-quick": "bin/pretty-quick.js" - }, - "engines": { - "node": ">=10.13" - } - }, - "node_modules/pretty-quick/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/pretty-quick/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pretty-quick/node_modules/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==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/pretty-quick/node_modules/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, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pretty-quick/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise-polyfill": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", - "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==", - "dev": true - }, - "node_modules/prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ps-tree": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", - "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", - "dev": true, - "dependencies": { - "event-stream": "=3.3.4" - }, - "bin": { - "ps-tree": "bin/ps-tree.js" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/purgecss": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", - "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", - "dependencies": { - "commander": "^5.0.0", - "glob": "^7.0.0", - "postcss": "7.0.32", - "postcss-selector-parser": "^6.0.2" - }, - "bin": { - "purgecss": "bin/purgecss" - } - }, - "node_modules/purgecss/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/purgecss/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/purgecss/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/purgecss/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/purgecss/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/purgecss/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/purgecss/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/purgecss/node_modules/postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/purgecss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/quote-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", - "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", - "dependencies": { - "buffer-equal": "0.0.1", - "minimist": "^1.1.3", - "through2": "^2.0.0" - }, - "bin": { - "quote-stream": "bin/cmd.js" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/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 - }, - "node_modules/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, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "node_modules/regjsparser": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz", - "integrity": "sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/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=" - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dependencies": { - "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" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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==", - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "node_modules/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, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true, - "engines": { - "node": "6.* || >= 7.*" - } - }, - "node_modules/run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true - }, - "node_modules/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==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "dependencies": { - "@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" - }, - "bin": { - "sane": "src/cli.js" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/sass": { - "version": "1.32.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.4.tgz", - "integrity": "sha512-N0BT0PI/t3+gD8jKa83zJJUb7ssfQnRRfqN+GIErokW6U4guBpfYl8qYB+OFLEho+QvnV5ZH1R9qhUC/Z2Ch9w==", - "dev": true, - "dependencies": { - "chokidar": ">=2.0.0 <4.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", - "dependencies": { - "xmlchars": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "node_modules/semver-regex": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", - "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/serialize-to-js": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.1.1.tgz", - "integrity": "sha512-F+NGU0UHMBO4Q965tjw7rvieNVjlH6Lqi2emq/Lc9LUURYJbiCzmpi4Cy1OOjjVPtxu0c+NE85LU6968Wko5ZA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/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 - }, - "node_modules/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==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-copy": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "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" - } - }, - "node_modules/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==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/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 - }, - "node_modules/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, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/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 - }, - "node_modules/split": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", - "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", - "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/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==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/srcset": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-3.0.0.tgz", - "integrity": "sha512-D59vF08Qzu/C4GAOXVgMTLfgryt5fyWo93FZyhEWANo0PokFz/iWdDe13mX3O5TRf6l8vMTqckAfR4zPiaH0yQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "node_modules/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, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/static-eval": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", - "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", - "dependencies": { - "escodegen": "^1.11.1" - } - }, - "node_modules/static-eval/node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/static-eval/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-module": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", - "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", - "dependencies": { - "concat-stream": "~1.6.0", - "convert-source-map": "^1.5.1", - "duplexer2": "~0.1.4", - "escodegen": "~1.9.0", - "falafel": "^2.1.0", - "has": "^1.0.1", - "magic-string": "^0.22.4", - "merge-source-map": "1.0.4", - "object-inspect": "~1.4.0", - "quote-stream": "~1.0.2", - "readable-stream": "~2.3.3", - "shallow-copy": "~0.0.1", - "static-eval": "^2.0.0", - "through2": "~2.0.3" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-combiner": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", - "dev": true, - "dependencies": { - "duplexer": "~0.1.1" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-argv": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", - "integrity": "sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/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, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-length/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/stylehacks/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/svgo/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/svgo/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==" - }, - "node_modules/table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", - "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", - "dependencies": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" - }, - "bin": { - "terser": "bin/uglifyjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/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, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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 - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "node_modules/tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" - }, - "node_modules/tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "node_modules/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=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/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==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ts-jest": { - "version": "26.4.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", - "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", - "dev": true, - "dependencies": { - "@types/jest": "26.x", - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-jest/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/tsc-watch": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-4.2.9.tgz", - "integrity": "sha512-DlTaoDs74+KUpyWr7dCGhuscAUKCz6CiFduBN7R9RbLJSSN1moWdwoCLASE7+zLgGvV5AwXfYDiEMAsPGaO+Vw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "node-cleanup": "^2.1.2", - "ps-tree": "^1.2.0", - "string-argv": "^0.1.1", - "strip-ansi": "^6.0.0" - }, - "bin": { - "tsc-watch": "index.js" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tsc-watch/node_modules/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, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tsc-watch/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsc-watch/node_modules/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsc-watch/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsc-watch/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsc-watch/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", - "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", - "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/uncss": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", - "integrity": "sha512-ksdDWl81YWvF/X14fOSw4iu8tESDHFIeyKIeDrK6GEVTQvqJc1WlOEXqostNwOCi3qAj++4EaLsdAgPmUbEyog==", - "dependencies": { - "commander": "^2.20.0", - "glob": "^7.1.4", - "is-absolute-url": "^3.0.1", - "is-html": "^1.1.0", - "jsdom": "^14.1.0", - "lodash": "^4.17.15", - "postcss": "^7.0.17", - "postcss-selector-parser": "6.0.2", - "request": "^2.88.0" - }, - "bin": { - "uncss": "bin/uncss" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/uncss/node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/uncss/node_modules/postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-trie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", - "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", - "dependencies": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - } - }, - "node_modules/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==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "node_modules/util.promisify/node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/util.promisify/node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" - }, - "node_modules/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, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/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, - "engines": { - "node": ">= 8" - } - }, - "node_modules/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, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "node_modules/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==", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", - "dependencies": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "dependencies": { - "makeerror": "1.0.x" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "node_modules/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==", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/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==" - }, - "node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/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 - }, - "node_modules/which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", - "dev": true - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/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, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/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==" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - } - } - }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", @@ -24357,14 +10439,6 @@ "xtend": "^4.0.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, "string-argv": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", @@ -24432,6 +10506,14 @@ "define-properties": "^1.1.3" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", diff --git a/sass/components/_chessboard.scss b/sass/components/_chessboard.scss index d725dac..a2726da 100644 --- a/sass/components/_chessboard.scss +++ b/sass/components/_chessboard.scss @@ -9,6 +9,7 @@ } .square { + position: relative; background-repeat: no-repeat; background-size: cover; diff --git a/sass/components/_piece.scss b/sass/components/_piece.scss new file mode 100644 index 0000000..acdae7f --- /dev/null +++ b/sass/components/_piece.scss @@ -0,0 +1,22 @@ +.piece { + overflow: auto; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + width: 90%; + height: auto; + margin: auto; + animation: appearing 1s ease-in; +} + +@keyframes appearing { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} diff --git a/sass/style.scss b/sass/style.scss index 28a36ff..28df67a 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -9,5 +9,6 @@ // * COMPONENTY @import 'components/chessboard'; @import 'components/button'; +@import 'components/piece'; // * LAYOUTS diff --git a/src/app/App.ts b/src/app/App.ts index 0a15c3e..3c703d1 100644 --- a/src/app/App.ts +++ b/src/app/App.ts @@ -1,17 +1,13 @@ import { ChessBoardPresenter } from './presenter/ChessBoardPresenter'; import { ChessBoardView } from './view/ChessBoardView'; import { WebChessView } from './view/web/WebChessView'; -import { ChessEngine } from './model/ChessEngine'; -import { ChessModel } from './model/ChessModel'; +import { Chessboard, ChessEngine, ChessModel } from './model'; import { InMemoryViewEventBus } from './view/events/InMemoryViewEventBus'; -import { ChessBoard } from './model/ChessBoard'; -import { SquareWithPiece } from './model/Types'; export const App = (): void => { const viewEventBus = new InMemoryViewEventBus(); const chessBoardView: ChessBoardView = new WebChessView(viewEventBus); - const boardWithPieces: SquareWithPiece = {}; - const chessBoard: ChessBoard = new ChessBoard(boardWithPieces); + const chessBoard: Chessboard = new Chessboard(); const chessModel: ChessModel = new ChessEngine(chessBoard); const presenter = new ChessBoardPresenter(chessBoardView, chessModel); presenter.startGame(); diff --git a/src/app/model/ChessBoard.ts b/src/app/model/ChessBoard.ts deleted file mode 100644 index 47fceb4..0000000 --- a/src/app/model/ChessBoard.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { PiecePositions } from './PiecesPositions'; -import { Piece } from './Piece'; -import { SquareWithPiece, Square } from './Types'; -import { PieceMoves } from './PieceMoves'; - -export class ChessBoard implements PieceMoves, PiecePositions { - constructor(private boardWithPieces: SquareWithPiece) {} - - onPositionPiece(square: Square): Piece | undefined { - return this.boardWithPieces[`${square.column}${square.row}`]; - } - - movePiece(squareFrom: Square, squareTo: Square): void { - const piece = this.onPositionPiece(squareFrom); - if (!piece) { - throw new Error(`There is no piece on square!`); - } - delete this.boardWithPieces[`${squareFrom.column}${squareFrom.row}`]; - this.boardWithPieces[`${squareTo.column}${squareTo.row}`] = piece; - } -} diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 5f63364..ab8b131 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,16 +1,18 @@ import { ChessModel } from './ChessModel'; -import { Side, Square } from './Types'; -import { Piece } from './Piece'; +import { Side, Square, SquareWithPiece } from './Types'; +import { Piece } from './pieces'; import { Player } from './Player'; -import { ChessBoard } from './ChessBoard'; +import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; import { isDefined } from './HelperFunctions'; export class ChessEngine implements ChessModel { private currentSide: Side = Side.BLACK; - - constructor(private readonly board: ChessBoard) {} + readonly squaresWithPiece: SquareWithPiece; + constructor(private readonly board: Chessboard) { + this.squaresWithPiece = board.squaresWithPiece; + } move(byPlayer: Player, squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[] { const chosenPiece = this.board.onPositionPiece(squareFrom); @@ -27,7 +29,12 @@ export class ChessEngine implements ChessModel { throw new Error('Piece can not move to given square.'); } - const pieceWasMoved: PieceWasMoved = { eventType: 'PieceWasMoved', piece: chosenPiece, from: squareFrom, to: squareTo }; + const pieceWasMoved: PieceWasMoved = { + eventType: 'PieceWasMoved', + piece: chosenPiece, + from: squareFrom, + to: squareTo, + }; const pieceWasCaptured = this.pieceWasCaptured(squareTo, chosenPiece); this.onPieceWasMoved(pieceWasMoved); diff --git a/src/app/model/ChessModel.ts b/src/app/model/ChessModel.ts index 192f1f3..3bcdb3c 100644 --- a/src/app/model/ChessModel.ts +++ b/src/app/model/ChessModel.ts @@ -1,8 +1,9 @@ import { Player } from './Player'; -import { Square } from './Types'; +import { Square, SquareWithPiece } from './Types'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; export interface ChessModel { + readonly squaresWithPiece: SquareWithPiece; move(byPlayer: Player, squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[]; } diff --git a/src/app/model/Chessboard.ts b/src/app/model/Chessboard.ts new file mode 100644 index 0000000..277d202 --- /dev/null +++ b/src/app/model/Chessboard.ts @@ -0,0 +1,22 @@ +import { PiecePositions } from './PiecesPositions'; +import { Piece } from './pieces/Piece'; +import { Square, SquareWithPiece } from './Types'; +import { PieceMoves } from './PieceMoves'; +import { PIECES_START_POSITION } from './Constances'; + +export class Chessboard implements PieceMoves, PiecePositions { + constructor(public squaresWithPiece: SquareWithPiece = PIECES_START_POSITION) {} + + onPositionPiece(square: Square): Piece | undefined { + return this.squaresWithPiece[`${square.column}${square.row}`]; + } + + movePiece(squareFrom: Square, squareTo: Square): void { + const piece = this.onPositionPiece(squareFrom); + if (!piece) { + throw new Error(`There is no piece on square!`); + } + delete this.squaresWithPiece[`${squareFrom.column}${squareFrom.row}`]; + this.squaresWithPiece[`${squareTo.column}${squareTo.row}`] = piece; + } +} diff --git a/src/app/model/Constances.ts b/src/app/model/Constances.ts index cac3d51..dc78551 100644 --- a/src/app/model/Constances.ts +++ b/src/app/model/Constances.ts @@ -1 +1,39 @@ -export const BOARDSIZE = 8; +import { Side, SquareWithPiece } from './Types'; +import { Bishop, Knight, Pawn, Queen, Rook, King } from './pieces'; + +export const BOARD_SIZE = 8; + +export const PIECES_START_POSITION: SquareWithPiece = { + A1: new Rook(Side.WHITE), + B1: new Knight(Side.WHITE), + C1: new Bishop(Side.WHITE), + D1: new Queen(Side.WHITE), + E1: new King(Side.WHITE), + F1: new Bishop(Side.WHITE), + G1: new Knight(Side.WHITE), + H1: new Rook(Side.WHITE), + A2: new Pawn(Side.WHITE), + B2: new Pawn(Side.WHITE), + C2: new Pawn(Side.WHITE), + D2: new Pawn(Side.WHITE), + E2: new Pawn(Side.WHITE), + F2: new Pawn(Side.WHITE), + G2: new Pawn(Side.WHITE), + H2: new Pawn(Side.WHITE), + A8: new Rook(Side.BLACK), + B8: new Knight(Side.BLACK), + C8: new Bishop(Side.BLACK), + D8: new Queen(Side.BLACK), + E8: new King(Side.BLACK), + F8: new Bishop(Side.BLACK), + G8: new Knight(Side.BLACK), + H8: new Rook(Side.BLACK), + A7: new Pawn(Side.BLACK), + B7: new Pawn(Side.BLACK), + C7: new Pawn(Side.BLACK), + D7: new Pawn(Side.BLACK), + E7: new Pawn(Side.BLACK), + F7: new Pawn(Side.BLACK), + G7: new Pawn(Side.BLACK), + H7: new Pawn(Side.BLACK), +}; diff --git a/src/app/model/PieceWasCaptured.ts b/src/app/model/PieceWasCaptured.ts index 52ef156..5b70717 100644 --- a/src/app/model/PieceWasCaptured.ts +++ b/src/app/model/PieceWasCaptured.ts @@ -1,4 +1,4 @@ -import { Piece } from './Piece'; +import { Piece } from './pieces/Piece'; import { Square } from './Types'; export type PieceWasCaptured = { diff --git a/src/app/model/PieceWasMoved.ts b/src/app/model/PieceWasMoved.ts index 7ea4b75..301fcea 100644 --- a/src/app/model/PieceWasMoved.ts +++ b/src/app/model/PieceWasMoved.ts @@ -1,4 +1,4 @@ -import { Piece } from './Piece'; +import { Piece } from './pieces/Piece'; import { Square } from './Types'; export type PieceWasMoved = { diff --git a/src/app/model/PiecesPositions.ts b/src/app/model/PiecesPositions.ts index f116375..c45f1c6 100644 --- a/src/app/model/PiecesPositions.ts +++ b/src/app/model/PiecesPositions.ts @@ -1,4 +1,4 @@ -import { Piece } from './Piece'; +import { Piece } from './pieces/Piece'; import { Square } from './Types'; export interface PiecePositions { diff --git a/src/app/model/Types.ts b/src/app/model/Types.ts index 6e270ad..e3d0343 100644 --- a/src/app/model/Types.ts +++ b/src/app/model/Types.ts @@ -1,4 +1,4 @@ -import { Piece } from './Piece'; +import { Piece } from './pieces/Piece'; export const columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']; export type Column = typeof columns[number]; diff --git a/src/app/model/index.ts b/src/app/model/index.ts new file mode 100644 index 0000000..4c13b66 --- /dev/null +++ b/src/app/model/index.ts @@ -0,0 +1,13 @@ +export * from './Chessboard'; +export * from './ChessEngine'; +export * from './ChessModel'; +export * from './Constances'; +export * from './HelperFunctions'; +export * from './PieceMoves'; +export * from './PiecePossibleMoves'; +export * from './PiecesPositions'; +export * from './PieceWasCaptured'; +export * from './PieceWasMoved'; +export * from './Player'; +export * from './pieces'; +export * from './Types'; diff --git a/src/app/model/Bishop.ts b/src/app/model/pieces/Bishop.ts similarity index 73% rename from src/app/model/Bishop.ts rename to src/app/model/pieces/Bishop.ts index d51d515..f272a07 100644 --- a/src/app/model/Bishop.ts +++ b/src/app/model/pieces/Bishop.ts @@ -1,9 +1,10 @@ -import { PiecePositions } from './PiecesPositions'; +import { PiecePositions } from '../PiecesPositions'; import { Piece } from './Piece'; -import { Side, Square } from './Types'; -import { PiecePossibleMoves } from './PiecePossibleMoves'; +import { Side, Square } from '../Types'; +import { PiecePossibleMoves } from '../PiecePossibleMoves'; export class Bishop extends Piece implements PiecePossibleMoves { + readonly name = 'Bishop'; constructor(side: Side) { super(side); } diff --git a/src/app/model/King.ts b/src/app/model/pieces/King.ts similarity index 85% rename from src/app/model/King.ts rename to src/app/model/pieces/King.ts index cdf5c52..9855fe2 100644 --- a/src/app/model/King.ts +++ b/src/app/model/pieces/King.ts @@ -1,9 +1,10 @@ -import { PiecePositions } from './PiecesPositions'; +import { PiecePositions } from '../PiecesPositions'; import { Piece } from './Piece'; -import { columns, Row, Side, Square } from './Types'; -import { PiecePossibleMoves } from './PiecePossibleMoves'; +import { columns, Row, Side, Square } from '../Types'; +import { PiecePossibleMoves } from '../PiecePossibleMoves'; export class King extends Piece implements PiecePossibleMoves { + readonly name = 'King'; constructor(side: Side) { super(side); } diff --git a/src/app/model/Knight.ts b/src/app/model/pieces/Knight.ts similarity index 88% rename from src/app/model/Knight.ts rename to src/app/model/pieces/Knight.ts index 75deece..676112e 100644 --- a/src/app/model/Knight.ts +++ b/src/app/model/pieces/Knight.ts @@ -1,9 +1,10 @@ -import { PiecePositions } from './PiecesPositions'; +import { PiecePositions } from '../PiecesPositions'; import { Piece } from './Piece'; -import { PiecePossibleMoves } from './PiecePossibleMoves'; -import { columns, Row, Side, Square } from './Types'; +import { PiecePossibleMoves } from '../PiecePossibleMoves'; +import { columns, Row, Side, Square } from '../Types'; export class Knight extends Piece implements PiecePossibleMoves { + readonly name = 'Knight'; constructor(side: Side) { super(side); } diff --git a/src/app/model/Pawn.ts b/src/app/model/pieces/Pawn.ts similarity index 92% rename from src/app/model/Pawn.ts rename to src/app/model/pieces/Pawn.ts index 8d014bd..6109233 100644 --- a/src/app/model/Pawn.ts +++ b/src/app/model/pieces/Pawn.ts @@ -1,7 +1,7 @@ -import { PiecePositions } from './PiecesPositions'; +import { PiecePositions } from '../PiecesPositions'; import { Piece } from './Piece'; -import { PiecePossibleMoves } from './PiecePossibleMoves'; -import { columns, Row, Side, Square } from './Types'; +import { PiecePossibleMoves } from '../PiecePossibleMoves'; +import { columns, Row, Side, Square } from '../Types'; type RowDifference = 1 | -1; const NEXT_ROW_DIFFERENCE: { WHITE: RowDifference; BLACK: RowDifference } = { @@ -10,6 +10,7 @@ const NEXT_ROW_DIFFERENCE: { WHITE: RowDifference; BLACK: RowDifference } = { }; export class Pawn extends Piece implements PiecePossibleMoves { + readonly name = 'Pawn'; constructor(side: Side) { super(side); } diff --git a/src/app/model/Piece.ts b/src/app/model/pieces/Piece.ts similarity index 80% rename from src/app/model/Piece.ts rename to src/app/model/pieces/Piece.ts index 7693693..8c8f7c0 100644 --- a/src/app/model/Piece.ts +++ b/src/app/model/pieces/Piece.ts @@ -1,10 +1,11 @@ -import { columns, Row, Side, Square, Vector } from './Types'; -import { PiecePositions } from './PiecesPositions'; -import { BOARDSIZE } from './Constances'; +import { columns, Row, Side, Square, Vector } from '../Types'; +import { PiecePositions } from '../PiecesPositions'; +import { BOARD_SIZE } from '../Constances'; export abstract class Piece { protected constructor(public side: Side) {} + abstract name: string; abstract possibleMoves(position: Square, board: PiecePositions): Square[]; protected lineMoves(board: PiecePositions, actualPosition: Square, vector: Vector): Square[] { @@ -26,7 +27,7 @@ export abstract class Piece { protected static isWithinChessboardBorders(position: Square): boolean { const columnNumber = columns.indexOf(position.column); - return columnNumber < BOARDSIZE && columnNumber >= 0 && position.row <= BOARDSIZE && position.row > 0; + return columnNumber < BOARD_SIZE && columnNumber >= 0 && position.row <= BOARD_SIZE && position.row > 0; } protected checkIfNotSameColorPiece(position: Square, board: PiecePositions): boolean { diff --git a/src/app/model/Queen.ts b/src/app/model/pieces/Queen.ts similarity index 80% rename from src/app/model/Queen.ts rename to src/app/model/pieces/Queen.ts index 5b3d4a9..18dc4d0 100644 --- a/src/app/model/Queen.ts +++ b/src/app/model/pieces/Queen.ts @@ -1,9 +1,10 @@ -import { PiecePositions } from './PiecesPositions'; +import { PiecePositions } from '../PiecesPositions'; import { Piece } from './Piece'; -import { Side, Square } from './Types'; -import { PiecePossibleMoves } from './PiecePossibleMoves'; +import { Side, Square } from '../Types'; +import { PiecePossibleMoves } from '../PiecePossibleMoves'; export class Queen extends Piece implements PiecePossibleMoves { + readonly name = 'Queen'; constructor(side: Side) { super(side); } diff --git a/src/app/model/Rook.ts b/src/app/model/pieces/Rook.ts similarity index 73% rename from src/app/model/Rook.ts rename to src/app/model/pieces/Rook.ts index adaf4da..57350ef 100644 --- a/src/app/model/Rook.ts +++ b/src/app/model/pieces/Rook.ts @@ -1,9 +1,10 @@ -import { PiecePositions } from './PiecesPositions'; +import { PiecePositions } from '../PiecesPositions'; import { Piece } from './Piece'; -import { PiecePossibleMoves } from './PiecePossibleMoves'; -import { Side, Square } from './Types'; +import { PiecePossibleMoves } from '../PiecePossibleMoves'; +import { Side, Square } from '../Types'; export class Rook extends Piece implements PiecePossibleMoves { + readonly name = 'Rook'; constructor(side: Side) { super(side); } diff --git a/src/app/model/pieces/index.ts b/src/app/model/pieces/index.ts new file mode 100644 index 0000000..6cf620c --- /dev/null +++ b/src/app/model/pieces/index.ts @@ -0,0 +1,7 @@ +export * from './Bishop'; +export * from './Knight'; +export * from './Pawn'; +export * from './Piece'; +export * from './Queen'; +export * from './Rook'; +export * from './King'; diff --git a/src/app/presenter/ChessBoardPresenter.ts b/src/app/presenter/ChessBoardPresenter.ts index 5ec3ad1..8a0a9f8 100644 --- a/src/app/presenter/ChessBoardPresenter.ts +++ b/src/app/presenter/ChessBoardPresenter.ts @@ -1,6 +1,6 @@ import { ChessBoardView } from '../view/ChessBoardView'; import { Position } from './Position'; -import { ChessModel } from '../model/ChessModel'; +import { ChessModel } from '../model'; import { SquareWasClicked } from '../view/events/SquareWasClicked'; export class ChessBoardPresenter { @@ -16,7 +16,6 @@ export class ChessBoardPresenter { } startGame(): void { - //wezmie z chessModel aktualny uklad - this.view.showChessBoard(); + this.view.showChessBoard(this.chessModel.squaresWithPiece); } } diff --git a/src/app/view/ChessBoardView.ts b/src/app/view/ChessBoardView.ts index 76e8735..881f911 100644 --- a/src/app/view/ChessBoardView.ts +++ b/src/app/view/ChessBoardView.ts @@ -1,7 +1,8 @@ import { ViewEventSource } from './events/ViewEventBus'; +import { PiecesBoardPositions } from './Types'; export interface ChessBoardView extends ViewEventSource { - showChessBoard(/*parametry*/): void; + showChessBoard(piecesPositions: PiecesBoardPositions): void; //TODO: Do zmiany, brakuje jaka bierke pokazac showSelectedPiece(position: { x: number; y: number }): void; diff --git a/src/app/view/Types.ts b/src/app/view/Types.ts new file mode 100644 index 0000000..64c15cc --- /dev/null +++ b/src/app/view/Types.ts @@ -0,0 +1 @@ +export type PiecesBoardPositions = { [key: string]: { name: string; side: string } }; diff --git a/src/app/view/web/WebChessView.ts b/src/app/view/web/WebChessView.ts index 0a52a2c..f11cd8c 100644 --- a/src/app/view/web/WebChessView.ts +++ b/src/app/view/web/WebChessView.ts @@ -3,15 +3,18 @@ import { ChessBoardView } from '../ChessBoardView'; import { ViewEventBus } from '../events/ViewEventBus'; import { ViewEvent } from '../events/ViewEvent'; import { SquareWasClicked } from '../events/SquareWasClicked'; +import { PiecesBoardPositions } from '../Types'; export class WebChessView implements ChessBoardView { constructor(private readonly viewEventBus: ViewEventBus, private readonly parent: HTMLElement = document.body) {} - showChessBoard(): void { + showChessBoard(piecesPositions: PiecesBoardPositions): void { const chessboard: Chessboard = new Chessboard('chessBoardId', 'chessboard', (position) => this.viewEventBus.publish(new SquareWasClicked(position)), ); this.parent.appendChild(chessboard.createBoard()); + + this.renderPiecesOnBoard(piecesPositions); } listenOn(eventType: EventType['eventType'], reaction: (event: EventType) => void): void { @@ -19,4 +22,27 @@ export class WebChessView implements ChessBoardView { } showSelectedPiece(position: { x: number; y: number }): void {} + + private renderPiecesOnBoard(piecesPositions: PiecesBoardPositions) { + Object.keys(piecesPositions) + .map((square) => { + const pieceName = piecesPositions[square].name.toLowerCase(); + const pieceSide = piecesPositions[square].side.toLowerCase(); + + const pieceImage = `static/img/pieces/${pieceSide}-${pieceName}.svg`; + return { path: pieceImage, squareId: `#${square.toLowerCase()}`, square: square }; + }) + .forEach((element) => { + this.parent.querySelector(element.squareId)?.appendChild(this.createPieceDiv(element.path, element.square.toLowerCase())); + }); + } + + private createPieceDiv(pieceImage: string, id: string): HTMLElement { + const newPieceElement = document.createElement('img'); + newPieceElement.classList.add('piece'); + newPieceElement.setAttribute('id', `${id}-img`); + newPieceElement.setAttribute('data-testid', `${id}-img`); + newPieceElement.src = pieceImage; + return newPieceElement; + } } diff --git a/test/app/model/Bishop.spec.ts b/test/app/model/Bishop.spec.ts index f82304b..53e6778 100644 --- a/test/app/model/Bishop.spec.ts +++ b/test/app/model/Bishop.spec.ts @@ -1,8 +1,6 @@ import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; -import { Side, Square } from '../../../src/app/model/Types'; -import { Bishop } from '../../../src/app/model/Bishop'; -import { Pawn } from '../../../src/app/model/Pawn'; +import { Bishop, Pawn, Side, Square } from '../../../src/app/model'; describe('Bishop possible moves', () => { it('When Bishop is on D4 and there is no pieces on its way', () => { diff --git a/test/app/model/BoardFixture.ts b/test/app/model/BoardFixture.ts index d844ec4..8546b02 100644 --- a/test/app/model/BoardFixture.ts +++ b/test/app/model/BoardFixture.ts @@ -1,6 +1,6 @@ import { PiecePositions } from '../../../src/app/model/PiecesPositions'; import { Square } from '../../../src/app/model/Types'; -import { Piece } from '../../../src/app/model/Piece'; +import { Piece } from '../../../src/app/model/pieces/Piece'; export const emptyBoard: PiecePositions = { onPositionPiece: (square: Square) => undefined }; export type SquareWithPiece = { [key: string]: Piece }; diff --git a/test/app/model/ChessBoard.spec.ts b/test/app/model/ChessBoard.spec.ts index 174b7f8..72210fa 100644 --- a/test/app/model/ChessBoard.spec.ts +++ b/test/app/model/ChessBoard.spec.ts @@ -1,7 +1,7 @@ -import { ChessBoard } from '../../../src/app/model/ChessBoard'; -import { Pawn } from '../../../src/app/model/Pawn'; -import { Rook } from '../../../src/app/model/Rook'; -import { Square, SquareWithPiece, Side } from '../../../src/app/model/Types'; +import { Chessboard } from '../../../src/app/model/Chessboard'; +import { Pawn } from '../../../src/app/model/pieces/Pawn'; +import { Rook } from '../../../src/app/model/pieces/Rook'; +import { Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; describe('ChessBoard', () => { const pawn: Pawn = new Pawn(Side.WHITE); @@ -12,7 +12,7 @@ describe('ChessBoard', () => { it('- check onPositionPiece method', () => { const boardWithPieces: SquareWithPiece = { A2: pawn, A3: rook }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); expect(chessBoard.onPositionPiece(squareA2)).toMatchObject(pawn); expect(chessBoard.onPositionPiece(squareA3)).toMatchObject(rook); @@ -21,14 +21,14 @@ describe('ChessBoard', () => { it('move piece from square where is nothing (A2 is empty)', () => { const boardWithPieces: SquareWithPiece = { D7: pawn, F4: rook }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); expect(() => chessBoard.movePiece(squareA2, squareA3)).toThrowError(`There is no piece on square!`); }); it('move piece from A2 --> A4', () => { const boardWithPieces: SquareWithPiece = { A2: pawn, F4: rook }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); chessBoard.movePiece(squareA2, squareA3); @@ -38,7 +38,7 @@ describe('ChessBoard', () => { it('move piece from A2 --> A3 --> A4', () => { const boardWithPieces: SquareWithPiece = { A2: pawn, F4: rook }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); chessBoard.movePiece(squareA2, squareA3); chessBoard.movePiece(squareA3, squareA4); diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 9fa93ef..b9f9581 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -1,18 +1,18 @@ import { ChessEngine } from '../../../src/app/model/ChessEngine'; import { Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; -import { ChessBoard } from '../../../src/app/model/ChessBoard'; -import { Pawn } from '../../../src/app/model/Pawn'; +import { Chessboard } from '../../../src/app/model/Chessboard'; +import { Pawn } from '../../../src/app/model/pieces/Pawn'; import { Player } from '../../../src/app/model/Player'; import 'jest-extended'; -import { Queen } from '../../../src/app/model/Queen'; -import { Knight } from '../../../src/app/model/Knight'; +import { Queen } from '../../../src/app/model/pieces/Queen'; +import { Knight } from '../../../src/app/model/pieces/Knight'; describe('Chess Engine', () => { it('Given white piece on A2 and black piece on A4, when move white piece from A2 to A3, then white piece was moved from A2 to A3', () => { const whitePiece = new Pawn(Side.WHITE); const blackPiece = new Pawn(Side.BLACK); const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const player = new Player(Side.WHITE); const squareFrom: Square = { column: 'A', row: 2 }; @@ -32,7 +32,7 @@ describe('Chess Engine', () => { const whitePiece = new Queen(Side.WHITE); const blackPiece = new Pawn(Side.BLACK); const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const player = new Player(Side.WHITE); const squareFrom: Square = { column: 'A', row: 2 }; @@ -49,7 +49,7 @@ describe('Chess Engine', () => { const whiteKnight = new Knight(Side.WHITE); const blackPawn = new Pawn(Side.BLACK); const boardWithPieces: SquareWithPiece = { C2: whitePawn, B1: whiteKnight, B4: blackPawn }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const playerWhite = new Player(Side.WHITE); const playerBlack = new Player(Side.BLACK); @@ -66,7 +66,7 @@ describe('Chess Engine', () => { const whitePiece = new Queen(Side.WHITE); const blackPiece = new Pawn(Side.BLACK); const boardWithPieces: SquareWithPiece = { A2: blackPiece, A4: whitePiece }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const player = new Player(Side.WHITE); const squareFrom: Square = { column: 'A', row: 2 }; @@ -78,7 +78,7 @@ describe('Chess Engine', () => { it('Should throw an Error if player wants to move piece to not available square', () => { const whitePiece = new Pawn(Side.WHITE); const boardWithPieces: SquareWithPiece = { A2: whitePiece }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const player = new Player(Side.WHITE); const squareFrom: Square = { column: 'A', row: 2 }; @@ -90,7 +90,7 @@ describe('Chess Engine', () => { it('Should throw an Error if player wants to move twice', () => { const whitePiece = new Pawn(Side.WHITE); const boardWithPieces: SquareWithPiece = { A2: whitePiece }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const player = new Player(Side.WHITE); const squareStart: Square = { column: 'A', row: 2 }; @@ -106,7 +106,7 @@ describe('Chess Engine', () => { const whitePiece = new Queen(Side.WHITE); const blackPiece = new Pawn(Side.BLACK); const boardWithPieces: SquareWithPiece = { A2: whitePiece, A6: blackPiece }; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const playerWhite = new Player(Side.WHITE); const playerBlack = new Player(Side.BLACK); @@ -127,7 +127,7 @@ describe('Chess Engine', () => { it('Should throw an Error if chosen square is not occupied', () => { const boardWithPieces: SquareWithPiece = {}; - const chessBoard = new ChessBoard(boardWithPieces); + const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const playerWhite = new Player(Side.WHITE); diff --git a/test/app/model/King.spec.ts b/test/app/model/King.spec.ts index 639ff8a..88195aa 100644 --- a/test/app/model/King.spec.ts +++ b/test/app/model/King.spec.ts @@ -1,9 +1,7 @@ import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; -import { Side, Square } from '../../../src/app/model/Types'; -import { King } from '../../../src/app/model/King'; -import { Pawn } from '../../../src/app/model/Pawn'; -import { Knight } from '../../../src/app/model/Knight'; +import { Side, Square } from '../../../src/app/model'; +import { Knight, Pawn, King } from '../../../src/app/model'; describe("King's possible moves", () => { it('When king is on E1, not surrounded by any piece and all possible moves are legal (none of squares is checked)', () => { diff --git a/test/app/model/Knight.spec.ts b/test/app/model/Knight.spec.ts index 4ea84c4..4d78ece 100644 --- a/test/app/model/Knight.spec.ts +++ b/test/app/model/Knight.spec.ts @@ -1,8 +1,6 @@ -import { Knight } from '../../../src/app/model/Knight'; -import { Side, Square } from '../../../src/app/model/Types'; +import { Knight, Pawn, Side, Square } from '../../../src/app/model'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; -import { Pawn } from '../../../src/app/model/Pawn'; describe('Knight possible moves', () => { it("When Knight is on F3 and there is no pieces on Knight's final movement squares", () => { diff --git a/test/app/model/Pawn.spec.ts b/test/app/model/Pawn.spec.ts index 8071d93..69ae63f 100644 --- a/test/app/model/Pawn.spec.ts +++ b/test/app/model/Pawn.spec.ts @@ -1,5 +1,4 @@ -import { Pawn } from '../../../src/app/model/Pawn'; -import { Side, Square } from '../../../src/app/model/Types'; +import { Pawn, Side, Square } from '../../../src/app/model'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; diff --git a/test/app/model/Queen.spec.ts b/test/app/model/Queen.spec.ts index 1cfbe3c..1ec91d1 100644 --- a/test/app/model/Queen.spec.ts +++ b/test/app/model/Queen.spec.ts @@ -1,8 +1,6 @@ import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; -import { Side, Square } from '../../../src/app/model/Types'; -import { Queen } from '../../../src/app/model/Queen'; -import { Pawn } from '../../../src/app/model/Pawn'; +import { Pawn, Queen, Side, Square } from '../../../src/app/model'; describe('Queen possible moves', () => { it('When Queen is on D4 and there is no pieces on Queens way', () => { diff --git a/test/app/model/Rook.spec.ts b/test/app/model/Rook.spec.ts index 1c5ba48..530ead7 100644 --- a/test/app/model/Rook.spec.ts +++ b/test/app/model/Rook.spec.ts @@ -1,8 +1,6 @@ -import { Rook } from '../../../src/app/model/Rook'; -import { Side, Square } from '../../../src/app/model/Types'; +import { Pawn, Rook, Side, Square } from '../../../src/app/model'; import 'jest-extended'; import { boardWithPieces, emptyBoard } from './BoardFixture'; -import { Pawn } from '../../../src/app/model/Pawn'; describe('Rook movement', () => { it("Check possible squares to go, when Rook is on A1 and there is no pieces on Roook's way", () => { diff --git a/test/app/presenter/ChessBoardPresenter.spec.ts b/test/app/presenter/ChessBoardPresenter.spec.ts index 0613e2c..f43c60d 100644 --- a/test/app/presenter/ChessBoardPresenter.spec.ts +++ b/test/app/presenter/ChessBoardPresenter.spec.ts @@ -6,11 +6,12 @@ import { ViewEventBus } from '../../../src/app/view/events/ViewEventBus'; import { ViewEvent } from '../../../src/app/view/events/ViewEvent'; import { SquareWasClicked } from '../../../src/app/view/events/SquareWasClicked'; import { InMemoryViewEventBus } from '../../../src/app/view/events/InMemoryViewEventBus'; +import { PIECES_START_POSITION } from '../../../src/app/model/Constances'; describe('ChessBoardPresenter', () => { const viewEvents: ViewEventBus = new InMemoryViewEventBus(); const view: ChessBoardView = chessBoardViewMock(viewEvents); - const model: ChessModel = { move: jest.fn() }; + const model: ChessModel = { squaresWithPiece: PIECES_START_POSITION, move: jest.fn() }; const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); it('when square was clicked on the view, then selected piece should be shown', () => { @@ -18,6 +19,12 @@ describe('ChessBoardPresenter', () => { expect(view.showSelectedPiece).toHaveBeenCalledWith({ x: 1, y: 1 }); }); + + it('when game starts, check if pieces will show on the screen', () => { + presenter.startGame(); + + expect(view.showChessBoard).toHaveBeenCalledWith(PIECES_START_POSITION); + }); }); function chessBoardViewMock(viewEventBus: ViewEventBus): ChessBoardView { diff --git a/test/app/view/web/WebChessBoardView.spec.ts b/test/app/view/web/WebChessBoardView.spec.ts index e04ccd2..39d25bd 100644 --- a/test/app/view/web/WebChessBoardView.spec.ts +++ b/test/app/view/web/WebChessBoardView.spec.ts @@ -5,15 +5,22 @@ import { ChessBoardView } from '../../../../src/app/view/ChessBoardView'; import { WebChessView } from '../../../../src/app/view/web/WebChessView'; import { ViewEventBus } from '../../../../src/app/view/events/ViewEventBus'; import { SquareWasClicked } from '../../../../src/app/view/events/SquareWasClicked'; +import { PiecesBoardPositions } from '../../../../src/app/view/Types'; +import { Side } from '../../../../src/app/model/Types'; -describe('Web Chess Board View', () => { +describe('Web Chess Board View with starting pieces positions', () => { const publishViewEventMock = jest.fn(); const viewEventBus: ViewEventBus = { listenOn: jest.fn(), publish: publishViewEventMock, }; + const piecesPositions: PiecesBoardPositions = { + A1: { name: 'Rook', side: Side.WHITE }, + E7: { name: 'Pawn', side: Side.BLACK }, + G8: { name: 'Knight', side: Side.BLACK }, + }; const chessBoardView: ChessBoardView = new WebChessView(viewEventBus); - chessBoardView.showChessBoard(); + chessBoardView.showChessBoard(piecesPositions); it('Chessboard should have 64 squares', () => { const board = document.getElementById('chessBoardId'); @@ -41,4 +48,38 @@ describe('Web Chess Board View', () => { expect(publishViewEventMock).toBeCalledWith(new SquareWasClicked({ x: 1, y: 2 })); }); + + it('Square a1 should contain white rook', async () => { + const a1Square = await screen.findByTestId('a1'); + const a1WhiteRook = await screen.findByTestId('a1-img'); + const image = a1WhiteRook.getAttribute('src'); + + expect(a1Square).toContainElement(a1WhiteRook); + expect(image).toBe('static/img/pieces/white-rook.svg'); + }); + + it('Square e7 should contain black pawn', async () => { + const e7Square = await screen.findByTestId('e7'); + const e7BlackPawn = await screen.findByTestId('e7-img'); + const image = e7BlackPawn.getAttribute('src'); + + expect(e7Square).toContainElement(e7BlackPawn); + expect(image).toBe('static/img/pieces/black-pawn.svg'); + }); + + it('Square g8 should contain black knight', async () => { + const g8Square = await screen.findByTestId('g8'); + const g8WBlackKnight = await screen.findByTestId('g8-img'); + const image = g8WBlackKnight.getAttribute('src'); + + expect(g8Square).toContainElement(g8WBlackKnight); + expect(image).not.toBe('static/img/pieces/black-pawn.svg'); + expect(image).toBe('static/img/pieces/black-knight.svg'); + }); + + it('Square e4 should be empty', async () => { + const e4Square = await screen.findByTestId('e4'); + + expect(e4Square).toBeEmptyDOMElement(); + }); }); From 88c101de2258d3cfcfd59dc33cb213ed4bcb916a Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 16:31:01 +0100 Subject: [PATCH 069/134] Initial Commit --- package-lock.json | 13945 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 13936 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index f19ec51..ef6bedd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,13935 @@ { "name": "coderscamp2020.project.typescript.chess", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "coderscamp2020.project.typescript.chess", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "eslint-config-prettier": "^7.2.0", + "parcel": "^1.12.4", + "regenerator-runtime": "^0.13.7", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@babel/core": "^7.11.6", + "@babel/preset-env": "^7.11.5", + "@testing-library/dom": "^7.26.6", + "@testing-library/jest-dom": "^5.11.6", + "@testing-library/user-event": "^12.2.2", + "@types/jest": "^26.0.20", + "@types/node": "^14.14.22", + "@typescript-eslint/eslint-plugin": "^4.14.0", + "@typescript-eslint/parser": "^4.14.0", + "babel-jest": "^26.5.0", + "cssnano": "^4.1.10", + "eslint": "^7.18.0", + "husky": "^4.3.6", + "jest": "^26.6.3", + "jest-extended": "^0.11.5", + "jest-fetch-mock": "^3.0.3", + "msw": "^0.21.3", + "parcel-bundler": "^1.12.4", + "parcel-plugin-static-files-copy": "^2.5.0", + "prettier": "2.2.1", + "pretty-quick": "^3.1.0", + "rimraf": "^3.0.2", + "sass": "^1.30.0", + "ts-jest": "^26.4.4", + "tsc-watch": "^4.2.9", + "typescript": "^4.1.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + }, + "node_modules/@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dependencies": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "dependencies": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dependencies": { + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dependencies": { + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dependencies": { + "@babel/types": "^7.12.11" + } + }, + "node_modules/@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==" + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz", + "integrity": "sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.10.tgz", + "integrity": "sha512-0ti12wLTLeUIzu9U7kjqIn4MyOL7+Wibc7avsHhj4o1l5C0ATs8p2IMHrVYjm9t9wzhfEO6S3kxax0Rpdo8LTg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", + "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.12.10", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1", + "@babel/types": "^7.12.12" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "dependencies": { + "regenerator-transform": "^0.14.2" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "dependencies": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "node_modules/@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", + "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dependencies": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@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 + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@eslint/eslintrc/node_modules/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, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@eslint/eslintrc/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" + }, + "node_modules/@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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/core/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/source-map/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@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, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/transform/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.scandir/node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@open-draft/until": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", + "integrity": "sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==", + "dev": true + }, + "node_modules/@parcel/fs": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz", + "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", + "dependencies": { + "@parcel/utils": "^1.11.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.2" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@parcel/fs/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/@parcel/logger": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz", + "integrity": "sha512-9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==", + "dependencies": { + "@parcel/workers": "^1.11.0", + "chalk": "^2.1.0", + "grapheme-breaker": "^0.3.2", + "ora": "^2.1.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@parcel/logger/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/logger/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/logger/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@parcel/logger/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@parcel/logger/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/logger/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/utils": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz", + "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz", + "integrity": "sha512-od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==", + "dependencies": { + "@parcel/utils": "^1.11.0", + "chokidar": "^2.1.5" + } + }, + "node_modules/@parcel/workers": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz", + "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==", + "dependencies": { + "@parcel/utils": "^1.11.0", + "physical-cpu-count": "^2.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@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, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "7.29.4", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.4.tgz", + "integrity": "sha512-CtrJRiSYEfbtNGtEsd78mk1n1v2TUbeABlNIcOCJdDfkN5/JTOwQEbbQpoSRxGqzcWPgStMvJ4mNolSuBRv1NA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.4", + "lz-string": "^1.4.4", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.11.9", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.9.tgz", + "integrity": "sha512-Mn2gnA9d1wStlAIT2NU8J15LNob0YFBVjs2aEQ3j8rsfRQo+lAs7/ui1i2TGaJjapLmuNPLTsrm+nPjmZDwpcQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^4.2.2", + "chalk": "^3.0.0", + "css": "^3.0.0", + "css.escape": "^1.5.1", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/user-event": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.6.0.tgz", + "integrity": "sha512-FNEH/HLmOk5GO70I52tKjs7WvGYckeE/SrnLX/ip7z2IGbffyd5zOUM1tZ10vsTphqm+VbDFI0oaXu0wcfQsAQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@types/aria-query": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz", + "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==", + "dev": true + }, + "node_modules/@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, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==", + "dev": true + }, + "node_modules/@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, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@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 + }, + "node_modules/@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, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@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, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "26.0.20", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", + "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", + "dev": true, + "dependencies": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", + "dev": true + }, + "node_modules/@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 + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", + "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", + "dev": true + }, + "node_modules/@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "node_modules/@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 + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.9.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz", + "integrity": "sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ==", + "dev": true, + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/yargs": { + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", + "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz", + "integrity": "sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.14.0", + "@typescript-eslint/scope-manager": "4.14.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz", + "integrity": "sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz", + "integrity": "sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "debug": "^4.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz", + "integrity": "sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz", + "integrity": "sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz", + "integrity": "sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz", + "integrity": "sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.14.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-to-html": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", + "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", + "dependencies": { + "entities": "^1.1.2" + }, + "bin": { + "ansi-to-html": "bin/ansi-to-html" + }, + "engines": { + "node": "*" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/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=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + } + }, + "node_modules/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, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon-walk": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz", + "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=", + "dependencies": { + "babel-runtime": "^6.11.6", + "babel-types": "^6.15.0", + "lodash.clone": "^4.5.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brfs": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", + "dependencies": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" + }, + "bin": { + "brfs": "bin/cmd.js" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/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==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/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==" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserify-zlib/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/browserslist": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", + "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", + "dependencies": { + "caniuse-lite": "^1.0.30001173", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.634", + "escalade": "^3.1.1", + "node-releases": "^1.1.69" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/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==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001178", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001178.tgz", + "integrity": "sha512-VtdZLC0vsXykKni8Uztx45xynytOi71Ufx9T8kHptSw9AL4dpqailUJJHavttuzUe1KYuBYtChiWv+BAb7mPmQ==" + }, + "node_modules/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, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/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 + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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 + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "node_modules/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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/color-string": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true + }, + "node_modules/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==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "hasInstallScript": true + }, + "node_modules/core-js-compat": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", + "dependencies": { + "browserslist": "^4.16.1", + "semver": "7.0.0" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-js-pure": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", + "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==", + "dev": true, + "hasInstallScript": true + }, + "node_modules/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=" + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.1" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dependencies": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "engines": { + "node": ">4" + } + }, + "node_modules/css-modules-loader-core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", + "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", + "dependencies": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.1", + "postcss-modules-extract-imports": "1.1.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/chalk/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/postcss": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", + "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", + "dependencies": { + "chalk": "^1.1.3", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", + "dev": true + }, + "node_modules/css/node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dependencies": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dependencies": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dependencies": { + "cssom": "0.3.x" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/deasync": { + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz", + "integrity": "sha512-kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + }, + "engines": { + "node": ">=0.11.0" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/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=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/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=" + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/defaults/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/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==", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz", + "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", + "engines": { + "node": ">=4.6.0" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.641", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.641.tgz", + "integrity": "sha512-b0DLhsHSHESC1I+Nx6n4w4Lr61chMd3m/av1rZQhS2IXTzaS5BMM5N+ldWdMIlni9CITMRM09m8He4+YV/92TA==" + }, + "node_modules/elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/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 + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/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, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "node_modules/envinfo": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", + "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-abstract/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "node_modules/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==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/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=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dependencies": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.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.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "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.20", + "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": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/eslint-config-prettier": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", + "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", + "bin": { + "eslint-config-prettier": "bin/cli.js" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/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, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-utils/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "node_modules/events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/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 + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/falafel": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", + "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", + "dependencies": { + "acorn": "^7.1.1", + "foreach": "^2.0.5", + "isarray": "^2.0.1", + "object-keys": "^1.0.6" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/falafel/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/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==" + }, + "node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "node_modules/fastq": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-versions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", + "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", + "dev": true, + "dependencies": { + "semver-regex": "^3.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/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==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/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 + }, + "node_modules/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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/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, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "node_modules/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, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globby/node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/globby/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/globby/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "node_modules/grapheme-breaker": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", + "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", + "dependencies": { + "brfs": "^1.2.0", + "unicode-trie": "^0.3.1" + } + }, + "node_modules/graphql": { + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.4.0.tgz", + "integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==", + "dev": true, + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/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 + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/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==" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/headers-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/headers-utils/-/headers-utils-1.2.0.tgz", + "integrity": "sha512-4/BMXcWrJErw7JpM87gF8MNEXcIMLzepYZjNRv/P9ctgupl2Ywa3u1PgHtNhSRq84bHH9Ndlkdy7bSi+bZ9I9A==", + "dev": true + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "node_modules/html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/html-tags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz", + "integrity": "sha1-x43mW1Zjqll5id0rerSSANfk25g=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/htmlnano": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.8.tgz", + "integrity": "sha512-q5gbo4SIDAE5sfJ5V0UD6uu+n1dcO/Mpr0B6SlDlJBoV7xKPne4uG4UwrT8vUWjdjIPJl95TY8EDuEbBW2TG0A==", + "dependencies": { + "cssnano": "^4.1.10", + "posthtml": "^0.13.4", + "posthtml-render": "^1.3.0", + "purgecss": "^2.3.0", + "relateurl": "^0.2.7", + "srcset": "^3.0.0", + "svgo": "^1.3.2", + "terser": "^4.8.0", + "timsort": "^0.3.0", + "uncss": "^0.17.3" + } + }, + "node_modules/htmlnano/node_modules/posthtml": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.13.4.tgz", + "integrity": "sha512-i2oTo/+dwXGC6zaAQSF6WZEQSbEqu10hsvg01DWzGAfZmy31Iiy9ktPh9nnXDfZiYytjxTIvxoK4TI0uk4QWpw==", + "dependencies": { + "posthtml-parser": "^0.5.0", + "posthtml-render": "^1.2.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/htmlnano/node_modules/posthtml-parser": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.5.3.tgz", + "integrity": "sha512-uHosRn0y+1wbnlYKrqMjBPoo/kK5LPYImLtiETszNFYfFwAD3cQdD1R2E13Mh5icBxkHj+yKtlIHozCsmVWD/Q==", + "dependencies": { + "htmlparser2": "^3.9.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/htmlnano/node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "node_modules/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, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/husky": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", + "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^7.0.0", + "find-versions": "^4.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^5.0.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + }, + "bin": { + "husky-run": "bin/run.js", + "husky-upgrade": "lib/upgrader/bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/husky/node_modules/cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/husky/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/husky/node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/husky/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/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==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-html": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz", + "integrity": "sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=", + "dependencies": { + "html-tags": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dependencies": { + "html-comment-regex": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/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, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-changed-files/node_modules/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==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-config/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-config/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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 + }, + "node_modules/jest-environment-jsdom/node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", + "dev": true, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-extended": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-0.11.5.tgz", + "integrity": "sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q==", + "dev": true, + "dependencies": { + "expect": "^24.1.0", + "jest-get-type": "^22.4.3", + "jest-matcher-utils": "^22.0.0" + } + }, + "node_modules/jest-extended/node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-extended/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-extended/node_modules/@types/yargs": { + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-extended/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-extended/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-extended/node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-diff/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", + "dev": true + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", + "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-get-type": "^22.4.3", + "pretty-format": "^22.4.3" + } + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", + "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "node_modules/jest-extended/node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/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 + }, + "node_modules/jest-extended/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/stack-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", + "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-extended/node_modules/stack-utils/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-fetch-mock": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", + "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", + "dev": true, + "dependencies": { + "cross-fetch": "^3.0.4", + "promise-polyfill": "^8.1.3" + } + }, + "node_modules/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, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-haste-map/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-haste-map/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-message-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-message-util/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-util/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "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.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "node_modules/jsdom": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", + "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", + "dependencies": { + "abab": "^2.0.0", + "acorn": "^6.0.4", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.1.3", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.5.0", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.2", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsdom/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jsdom/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/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 + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "node_modules/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==" + }, + "node_modules/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 + }, + "node_modules/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=" + }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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 + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "node_modules/lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dependencies": { + "vlq": "^0.2.2" + } + }, + "node_modules/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, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "dependencies": { + "mime-db": "1.45.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mri": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", + "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/msw": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/msw/-/msw-0.21.3.tgz", + "integrity": "sha512-voPc/EJsjarvi454vSEuozZQQqLG4AUHT6qQL5Ah47lq7sGCpc7icByeUlfvEj5+MvaugN0c7JwXyCa2rxu8cA==", + "dev": true, + "dependencies": { + "@open-draft/until": "^1.0.3", + "@types/cookie": "^0.4.0", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cookie": "^0.4.1", + "graphql": "^15.3.0", + "headers-utils": "^1.2.0", + "node-fetch": "^2.6.1", + "node-match-path": "^0.4.4", + "node-request-interceptor": "^0.5.1", + "statuses": "^2.0.0", + "yargs": "^16.0.3" + }, + "bin": { + "msw": "cli/index.js" + } + }, + "node_modules/msw/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/msw/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/msw/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/msw/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/msw/node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/msw/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/msw/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/msw/node_modules/y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/msw/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/msw/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, + "node_modules/node-cleanup": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", + "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "engines": { + "node": "*" + } + }, + "node_modules/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/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "node_modules/node-match-path": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/node-match-path/-/node-match-path-0.4.4.tgz", + "integrity": "sha512-pBq9gp7TG0r0VXuy/oeZmQsjBSnYQo7G886Ly/B3azRwZuEtHCY155dzmfoKWcDPGgyfIGD8WKVC7h3+6y7yTg==", + "dev": true + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "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" + } + }, + "node_modules/node-notifier/node_modules/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, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-notifier/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "optional": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-releases": { + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" + }, + "node_modules/node-request-interceptor": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/node-request-interceptor/-/node-request-interceptor-0.5.9.tgz", + "integrity": "sha512-M1a3aulCW/kqajDn/w+qBX86G4So7utJGlrODAjQ1piz/kR8ZaDfd/wrJnsuPtUM12F0YxsnXG8qRKFkIEIxsw==", + "dev": true, + "dependencies": { + "@open-draft/until": "^1.0.3", + "debug": "^4.3.0", + "headers-utils": "^1.2.0" + } + }, + "node_modules/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, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "dev": true, + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", + "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", + "dependencies": { + "chalk": "^2.3.1", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.1.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^4.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "node_modules/parcel": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-1.12.4.tgz", + "integrity": "sha512-qfc74e2/R4pCoU6L/ZZnK9k3iDS6ir4uHea0e9th9w52eehcAGf2ido/iABq9PBXdsIOe4NSY3oUm7Khe7+S3w==", + "hasInstallScript": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.4.4", + "@babel/generator": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/plugin-transform-flow-strip-types": "^7.4.4", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/preset-env": "^7.4.4", + "@babel/runtime": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4", + "@iarna/toml": "^2.2.0", + "@parcel/fs": "^1.11.0", + "@parcel/logger": "^1.11.1", + "@parcel/utils": "^1.11.0", + "@parcel/watcher": "^1.12.1", + "@parcel/workers": "^1.11.0", + "ansi-to-html": "^0.6.4", + "babylon-walk": "^1.0.2", + "browserslist": "^4.1.0", + "chalk": "^2.1.0", + "clone": "^2.1.1", + "command-exists": "^1.2.6", + "commander": "^2.11.0", + "core-js": "^2.6.5", + "cross-spawn": "^6.0.4", + "css-modules-loader-core": "^1.1.0", + "cssnano": "^4.0.0", + "deasync": "^0.1.14", + "dotenv": "^5.0.0", + "dotenv-expand": "^5.1.0", + "envinfo": "^7.3.1", + "fast-glob": "^2.2.2", + "filesize": "^3.6.0", + "get-port": "^3.2.0", + "htmlnano": "^0.2.2", + "is-glob": "^4.0.0", + "is-url": "^1.2.2", + "js-yaml": "^3.10.0", + "json5": "^1.0.1", + "micromatch": "^3.0.4", + "mkdirp": "^0.5.1", + "node-forge": "^0.7.1", + "node-libs-browser": "^2.0.0", + "opn": "^5.1.0", + "postcss": "^7.0.11", + "postcss-value-parser": "^3.3.1", + "posthtml": "^0.11.2", + "posthtml-parser": "^0.4.0", + "posthtml-render": "^1.1.3", + "resolve": "^1.4.0", + "semver": "^5.4.1", + "serialize-to-js": "^3.0.0", + "serve-static": "^1.12.4", + "source-map": "0.6.1", + "terser": "^3.7.3", + "v8-compile-cache": "^2.0.0", + "ws": "^5.1.1" + }, + "bin": { + "parcel": "bin/cli.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/parcel-bundler": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.4.tgz", + "integrity": "sha512-G+iZGGiPEXcRzw0fiRxWYCKxdt/F7l9a0xkiU4XbcVRJCSlBnioWEwJMutOCCpoQmaQtjB4RBHDGIHN85AIhLQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.4.4", + "@babel/generator": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/plugin-transform-flow-strip-types": "^7.4.4", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/preset-env": "^7.4.4", + "@babel/runtime": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4", + "@iarna/toml": "^2.2.0", + "@parcel/fs": "^1.11.0", + "@parcel/logger": "^1.11.1", + "@parcel/utils": "^1.11.0", + "@parcel/watcher": "^1.12.1", + "@parcel/workers": "^1.11.0", + "ansi-to-html": "^0.6.4", + "babylon-walk": "^1.0.2", + "browserslist": "^4.1.0", + "chalk": "^2.1.0", + "clone": "^2.1.1", + "command-exists": "^1.2.6", + "commander": "^2.11.0", + "core-js": "^2.6.5", + "cross-spawn": "^6.0.4", + "css-modules-loader-core": "^1.1.0", + "cssnano": "^4.0.0", + "deasync": "^0.1.14", + "dotenv": "^5.0.0", + "dotenv-expand": "^5.1.0", + "envinfo": "^7.3.1", + "fast-glob": "^2.2.2", + "filesize": "^3.6.0", + "get-port": "^3.2.0", + "htmlnano": "^0.2.2", + "is-glob": "^4.0.0", + "is-url": "^1.2.2", + "js-yaml": "^3.10.0", + "json5": "^1.0.1", + "micromatch": "^3.0.4", + "mkdirp": "^0.5.1", + "node-forge": "^0.7.1", + "node-libs-browser": "^2.0.0", + "opn": "^5.1.0", + "postcss": "^7.0.11", + "postcss-value-parser": "^3.3.1", + "posthtml": "^0.11.2", + "posthtml-parser": "^0.4.0", + "posthtml-render": "^1.1.3", + "resolve": "^1.4.0", + "semver": "^5.4.1", + "serialize-to-js": "^3.0.0", + "serve-static": "^1.12.4", + "source-map": "0.6.1", + "terser": "^3.7.3", + "v8-compile-cache": "^2.0.0", + "ws": "^5.1.1" + }, + "bin": { + "parcel": "bin/cli.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/parcel-bundler/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/parcel-bundler/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-plugin-static-files-copy": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/parcel-plugin-static-files-copy/-/parcel-plugin-static-files-copy-2.5.0.tgz", + "integrity": "sha512-5rxOPw3iV+WXhePfByoIxsUlL4I0o95CgcF31gwgnhPuj2q6tVPuzEAJsag9bWJr5Vd/SXFPTNsUAGAg4jP07Q==", + "dev": true, + "dependencies": { + "minimatch": "3.0.4", + "path": "0.12.7" + } + }, + "node_modules/parcel/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/parcel/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/parcel/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dev": true, + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/path/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dependencies": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/postcss-calc/node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + }, + "node_modules/postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dependencies": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dependencies": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", + "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-extract-imports/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-local-by-default/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-scope/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-scope/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-scope/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dependencies": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-values/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-values/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-values/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-values/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dependencies": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/posthtml": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz", + "integrity": "sha512-C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==", + "dependencies": { + "posthtml-parser": "^0.4.1", + "posthtml-render": "^1.1.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz", + "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==", + "dependencies": { + "htmlparser2": "^3.9.2" + } + }, + "node_modules/posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/pretty-quick": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.0.tgz", + "integrity": "sha512-DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "execa": "^4.0.0", + "find-up": "^4.1.0", + "ignore": "^5.1.4", + "mri": "^1.1.5", + "multimatch": "^4.0.0" + }, + "bin": { + "pretty-quick": "bin/pretty-quick.js" + }, + "engines": { + "node": ">=10.13" + } + }, + "node_modules/pretty-quick/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/pretty-quick/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pretty-quick/node_modules/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==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-quick/node_modules/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, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-polyfill": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", + "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", + "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.0.0", + "postcss": "7.0.32", + "postcss-selector-parser": "^6.0.2" + }, + "bin": { + "purgecss": "bin/purgecss" + } + }, + "node_modules/purgecss/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/purgecss/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/purgecss/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/purgecss/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/purgecss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", + "dependencies": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + }, + "bin": { + "quote-stream": "bin/cmd.js" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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 + }, + "node_modules/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, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "node_modules/regjsparser": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz", + "integrity": "sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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=" + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "node_modules/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, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, + "node_modules/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==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "dependencies": { + "@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" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sass": { + "version": "1.32.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.4.tgz", + "integrity": "sha512-N0BT0PI/t3+gD8jKa83zJJUb7ssfQnRRfqN+GIErokW6U4guBpfYl8qYB+OFLEho+QvnV5ZH1R9qhUC/Z2Ch9w==", + "dev": true, + "dependencies": { + "chokidar": ">=2.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "node_modules/semver-regex": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", + "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "node_modules/serialize-to-js": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.1.1.tgz", + "integrity": "sha512-F+NGU0UHMBO4Q965tjw7rvieNVjlH6Lqi2emq/Lc9LUURYJbiCzmpi4Cy1OOjjVPtxu0c+NE85LU6968Wko5ZA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "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" + } + }, + "node_modules/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==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/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 + }, + "node_modules/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, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/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 + }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/srcset": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-3.0.0.tgz", + "integrity": "sha512-D59vF08Qzu/C4GAOXVgMTLfgryt5fyWo93FZyhEWANo0PokFz/iWdDe13mX3O5TRf6l8vMTqckAfR4zPiaH0yQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "node_modules/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, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-eval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", + "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", + "dependencies": { + "escodegen": "^1.11.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-module": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", + "dependencies": { + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-argv": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", + "integrity": "sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/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, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "dependencies": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/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, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "dependencies": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "bin": { + "terser": "bin/uglifyjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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 + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, + "node_modules/tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "node_modules/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/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==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "dev": true, + "dependencies": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/ts-jest/node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-jest/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/tsc-watch": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-4.2.9.tgz", + "integrity": "sha512-DlTaoDs74+KUpyWr7dCGhuscAUKCz6CiFduBN7R9RbLJSSN1moWdwoCLASE7+zLgGvV5AwXfYDiEMAsPGaO+Vw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "node-cleanup": "^2.1.2", + "ps-tree": "^1.2.0", + "string-argv": "^0.1.1", + "strip-ansi": "^6.0.0" + }, + "bin": { + "tsc-watch": "index.js" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tsc-watch/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", + "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uncss": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", + "integrity": "sha512-ksdDWl81YWvF/X14fOSw4iu8tESDHFIeyKIeDrK6GEVTQvqJc1WlOEXqostNwOCi3qAj++4EaLsdAgPmUbEyog==", + "dependencies": { + "commander": "^2.20.0", + "glob": "^7.1.4", + "is-absolute-url": "^3.0.1", + "is-html": "^1.1.0", + "jsdom": "^14.1.0", + "lodash": "^4.17.15", + "postcss": "^7.0.17", + "postcss-selector-parser": "6.0.2", + "request": "^2.88.0" + }, + "bin": { + "uncss": "bin/uncss" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/uncss/node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/uncss/node_modules/postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "node_modules/util.promisify/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/util.promisify/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" + }, + "node_modules/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, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/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==", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/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==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/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==" + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/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 + }, + "node_modules/which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/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, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", @@ -10439,6 +24366,14 @@ "xtend": "^4.0.0" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-argv": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", @@ -10506,14 +24441,6 @@ "define-properties": "^1.1.3" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", From c2a194db2f04732fe29f204183eb4946e10fe5b3 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 18:44:03 +0100 Subject: [PATCH 070/134] #43 MODEL - ChessEngine - Checking the king's check | Add first test --- test/app/model/ChessEngine.spec.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index b9f9581..c822368 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -6,6 +6,7 @@ import { Player } from '../../../src/app/model/Player'; import 'jest-extended'; import { Queen } from '../../../src/app/model/pieces/Queen'; import { Knight } from '../../../src/app/model/pieces/Knight'; +import { King } from '../../../src/app/model'; describe('Chess Engine', () => { it('Given white piece on A2 and black piece on A4, when move white piece from A2 to A3, then white piece was moved from A2 to A3', () => { @@ -142,4 +143,30 @@ describe('Chess Engine', () => { ), ).toThrowError('There is no piece on this square.'); }); + + describe('If player wants to move piece that check King will be captured', () => { + it(`Shouldn if chosen King is not just captured`, () => { + const whiteKing = new King(Side.WHITE); + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: new King(Side.BLACK), + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const playerWhite = new Player(Side.WHITE); + + const squareFrom: Square = { column: 'A', row: 2 }; + const squareTo: Square = { column: 'A', row: 3 }; + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + piece: whiteKing, + from: squareFrom, + to: squareTo, + }, + ]; + expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); + }); + }); }); From b82d49346eb1ac066943e7ece4c257f3c7a963aa Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 18:45:19 +0100 Subject: [PATCH 071/134] #43 MODEL - ChessEngine - Checking the king's check | Fix description of test --- src/app/model/ChessEngine.ts | 6 ++++++ test/app/model/ChessEngine.spec.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index ab8b131..6d6eccb 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -10,6 +10,7 @@ import { isDefined } from './HelperFunctions'; export class ChessEngine implements ChessModel { private currentSide: Side = Side.BLACK; readonly squaresWithPiece: SquareWithPiece; + constructor(private readonly board: Chessboard) { this.squaresWithPiece = board.squaresWithPiece; } @@ -28,6 +29,7 @@ export class ChessEngine implements ChessModel { if (!this.canMoveOnSquare(squareFrom, squareTo)) { throw new Error('Piece can not move to given square.'); } + // if(!) ---------------------------------------------------------------------- const pieceWasMoved: PieceWasMoved = { eventType: 'PieceWasMoved', @@ -63,4 +65,8 @@ export class ChessEngine implements ChessModel { piecePossibleMoves?.some((possibleMove) => possibleMove.column === squareTo.column && possibleMove.row === squareTo.row) ?? false ); } + + private willBeKingChecked(): boolean { + return false; + } } diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index c822368..1c2b66a 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -145,7 +145,7 @@ describe('Chess Engine', () => { }); describe('If player wants to move piece that check King will be captured', () => { - it(`Shouldn if chosen King is not just captured`, () => { + it(`Shouldn if chosen King is not just captured`, () => { const whiteKing = new King(Side.WHITE); const boardWithPieces: SquareWithPiece = { A2: whiteKing, From 90cdd01738419860051c9dfa49977da98421b99e Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 18:59:48 +0100 Subject: [PATCH 072/134] #43 MODEL - ChessEngine - Checking the king's check | Extract common variables --- test/app/model/ChessEngine.spec.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 1c2b66a..b39be21 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -145,15 +145,19 @@ describe('Chess Engine', () => { }); describe('If player wants to move piece that check King will be captured', () => { + const errorMessage = `Player can not move other players pieces.`; + const whiteKing = new King(Side.WHITE); + const blackKing = new King(Side.BLACK); + const playerWhite = new Player(Side.WHITE); + const blackWhite = new Player(Side.WHITE); + it(`Shouldn if chosen King is not just captured`, () => { - const whiteKing = new King(Side.WHITE); const boardWithPieces: SquareWithPiece = { A2: whiteKing, - A8: new King(Side.BLACK), + A8: blackKing, }; const chessboard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessboard); - const playerWhite = new Player(Side.WHITE); const squareFrom: Square = { column: 'A', row: 2 }; const squareTo: Square = { column: 'A', row: 3 }; From fb7ea3058a4f1a2ee5ab1c61ac2c64f8cb35c075 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 19:10:36 +0100 Subject: [PATCH 073/134] #43 MODEL - ChessEngine - Checking the king's check | Add test that player can not move piece, causing his king to check --- test/app/model/ChessEngine.spec.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index b39be21..6b86836 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -6,7 +6,7 @@ import { Player } from '../../../src/app/model/Player'; import 'jest-extended'; import { Queen } from '../../../src/app/model/pieces/Queen'; import { Knight } from '../../../src/app/model/pieces/Knight'; -import { King } from '../../../src/app/model'; +import { King, Rook } from '../../../src/app/model'; describe('Chess Engine', () => { it('Given white piece on A2 and black piece on A4, when move white piece from A2 to A3, then white piece was moved from A2 to A3', () => { @@ -145,7 +145,7 @@ describe('Chess Engine', () => { }); describe('If player wants to move piece that check King will be captured', () => { - const errorMessage = `Player can not move other players pieces.`; + const errorMessage = `The player can not move piece, causing his king to check`; const whiteKing = new King(Side.WHITE); const blackKing = new King(Side.BLACK); const playerWhite = new Player(Side.WHITE); @@ -172,5 +172,21 @@ describe('Chess Engine', () => { ]; expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); }); + + it(`Should throw an error if chosen King is just in checked`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B8: new Rook(Side.BLACK), + H2: new Rook(Side.BLACK), + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const playerWhite = new Player(Side.WHITE); + + const squareFrom: Square = { column: 'A', row: 1 }; + const squareTo: Square = { column: 'A', row: 2 }; + + expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + }); }); }); From 16c86a1ac5a40e74a936470b6af569dcbe0bcd5d Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 19:23:21 +0100 Subject: [PATCH 074/134] #43 MODEL - ChessEngine - Checking the king's check | Fix test's describes --- test/app/model/ChessEngine.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 6b86836..5179b30 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -151,7 +151,7 @@ describe('Chess Engine', () => { const playerWhite = new Player(Side.WHITE); const blackWhite = new Player(Side.WHITE); - it(`Shouldn if chosen King is not just captured`, () => { + it(`Should not throw error if the king's move causes his check.`, () => { const boardWithPieces: SquareWithPiece = { A2: whiteKing, A8: blackKing, @@ -173,7 +173,7 @@ describe('Chess Engine', () => { expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); }); - it(`Should throw an error if chosen King is just in checked`, () => { + it(`Should throw an error if the king's move causes his check.`, () => { const boardWithPieces: SquareWithPiece = { A1: whiteKing, B8: new Rook(Side.BLACK), From adf0cdfe65df2dce094f6bda579838090754bb11 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 19:36:51 +0100 Subject: [PATCH 075/134] #43 MODEL - ChessEngine - Checking the king's check | Add test: white piece's move causes white king check. --- test/app/model/ChessEngine.spec.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 5179b30..d3af8ce 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -145,7 +145,7 @@ describe('Chess Engine', () => { }); describe('If player wants to move piece that check King will be captured', () => { - const errorMessage = `The player can not move piece, causing his king to check`; + const errorMessage = `The player cannot move piece which causes check of his king.`; const whiteKing = new King(Side.WHITE); const blackKing = new King(Side.BLACK); const playerWhite = new Player(Side.WHITE); @@ -188,5 +188,21 @@ describe('Chess Engine', () => { expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); }); + + it(`Should throw an error if the white piece's move causes white king check.`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + A2: new Rook(Side.WHITE), + A8: new Rook(Side.BLACK), + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const playerWhite = new Player(Side.WHITE); + + const squareFrom: Square = { column: 'A', row: 2 }; + const squareTo: Square = { column: 'G', row: 2 }; + + expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + }); }); }); From 20debbbde4974db7b3606ed4818fe12311da5903 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 19:56:20 +0100 Subject: [PATCH 076/134] #43 MODEL - ChessEngine - Checking the king's check | Add more tests --- test/app/model/ChessEngine.spec.ts | 53 ++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index d3af8ce..7d21d27 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -204,5 +204,58 @@ describe('Chess Engine', () => { expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); }); + + it(`Should not throw an error if the king is on checked square and the king's move does not cause his check.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + B5: new Rook(Side.BLACK), + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + + const squareFrom: Square = { column: 'A', row: 2 }; + const squareTo: Square = { column: 'A', row: 3 }; + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + piece: whiteKing, + from: squareFrom, + to: squareTo, + }, + ]; + expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); + }); + + it(`Should throw an error if the king is on checked square and the king's move causes his check.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A5: new Rook(Side.BLACK), + B5: new Rook(Side.BLACK), + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + + const squareFrom: Square = { column: 'A', row: 2 }; + const squareTo: Square = { column: 'B', row: 3 }; + + expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + }); + + it(`Should throw an error if the king is on checked square and the piece's move causes check of his king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A3: new Queen(Side.WHITE), + A5: new Rook(Side.BLACK), + G2: new Rook(Side.BLACK), + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + + const squareFrom: Square = { column: 'A', row: 3 }; + const squareTo: Square = { column: 'B', row: 2 }; + + expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + }); }); }); From 04acc3894d1516ec2a82b187e4a21abe51513b47 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 19:57:29 +0100 Subject: [PATCH 077/134] #43 MODEL - ChessEngine - Checking the king's check | Update description of test group --- test/app/model/ChessEngine.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 7d21d27..1879438 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -144,7 +144,7 @@ describe('Chess Engine', () => { ).toThrowError('There is no piece on this square.'); }); - describe('If player wants to move piece that check King will be captured', () => { + describe('If player wants to move piece that check king will be captured', () => { const errorMessage = `The player cannot move piece which causes check of his king.`; const whiteKing = new King(Side.WHITE); const blackKing = new King(Side.BLACK); From 1df0b9cc92800bbacdb5400ea422e323cee997b9 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 20:03:39 +0100 Subject: [PATCH 078/134] #43 MODEL - ChessEngine - Checking the king's check | Update after ESlint Code Review --- test/app/model/ChessEngine.spec.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 1879438..60e05ab 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -149,7 +149,6 @@ describe('Chess Engine', () => { const whiteKing = new King(Side.WHITE); const blackKing = new King(Side.BLACK); const playerWhite = new Player(Side.WHITE); - const blackWhite = new Player(Side.WHITE); it(`Should not throw error if the king's move causes his check.`, () => { const boardWithPieces: SquareWithPiece = { From 32c4733290e778a198c847636dd3f2590a9f194d Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 20:08:00 +0100 Subject: [PATCH 079/134] #43 MODEL - ChessEngine - Checking the king's check | Update test description --- test/app/model/ChessEngine.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 60e05ab..7a712e1 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -144,7 +144,7 @@ describe('Chess Engine', () => { ).toThrowError('There is no piece on this square.'); }); - describe('If player wants to move piece that check king will be captured', () => { + describe('If player wants to move piece that check if it causes checking of his king.', () => { const errorMessage = `The player cannot move piece which causes check of his king.`; const whiteKing = new King(Side.WHITE); const blackKing = new King(Side.BLACK); From 8636006cacdd71b2192653bbe4c06e4dd58c67e9 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 20:13:08 +0100 Subject: [PATCH 080/134] #43 MODEL - ChessEngine - Checking the king's check | Add "if" condition and error message --- src/app/model/ChessEngine.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 6d6eccb..1bcef7f 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -29,7 +29,9 @@ export class ChessEngine implements ChessModel { if (!this.canMoveOnSquare(squareFrom, squareTo)) { throw new Error('Piece can not move to given square.'); } - // if(!) ---------------------------------------------------------------------- + if (this.willBeKingChecked()) { + throw new Error(`The player cannot move piece which causes check of his king`); + } const pieceWasMoved: PieceWasMoved = { eventType: 'PieceWasMoved', From 68be782162cacea02bc67edc17232cb3b8ac336b Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 20:48:11 +0100 Subject: [PATCH 081/134] #43 MODEL - ChessEngine - Checking the king's check | Next step in building function & add TODO comments --- src/app/model/ChessEngine.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 1bcef7f..5b86486 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -29,7 +29,7 @@ export class ChessEngine implements ChessModel { if (!this.canMoveOnSquare(squareFrom, squareTo)) { throw new Error('Piece can not move to given square.'); } - if (this.willBeKingChecked()) { + if (this.willBeKingChecked(squareFrom, squareTo)) { throw new Error(`The player cannot move piece which causes check of his king`); } @@ -68,7 +68,16 @@ export class ChessEngine implements ChessModel { ); } - private willBeKingChecked(): boolean { + private willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { + const proposedSquaresWithPiece: SquareWithPiece = { ...this.board.squaresWithPiece }; + // TODO: find king position on new chessboard + // TODO: set loop where item is every pieces from other side and return type of squares array + { + // TODO: check possible squares where pieces of oponent can move to + } + // TODO: if it will be king's square on the above squares (where pieces of oponent can move to), function should return true + + // DONE: in other way return false return false; } } From 4b000d3a6a192a9a7dfe2bf6b71f118c259e37f9 Mon Sep 17 00:00:00 2001 From: Tomek <50457289+tomdworniczak@users.noreply.github.com> Date: Thu, 11 Feb 2021 22:22:20 +0100 Subject: [PATCH 082/134] #72 Add method changeTurn, change currentSide default value to Side.WHITE, change tests accordingly (#73) --- src/app/model/ChessEngine.ts | 12 ++++++++---- test/app/model/ChessEngine.spec.ts | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index ab8b131..d2faec7 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -8,7 +8,7 @@ import { PieceWasCaptured } from './PieceWasCaptured'; import { isDefined } from './HelperFunctions'; export class ChessEngine implements ChessModel { - private currentSide: Side = Side.BLACK; + private currentSide: Side = Side.WHITE; readonly squaresWithPiece: SquareWithPiece; constructor(private readonly board: Chessboard) { this.squaresWithPiece = board.squaresWithPiece; @@ -19,8 +19,8 @@ export class ChessEngine implements ChessModel { if (!chosenPiece) { throw new Error('There is no piece on this square.'); } - if (byPlayer.side == this.currentSide) { - throw new Error('Player can not move twice in a row.'); + if (byPlayer.side !== this.currentSide) { + throw new Error(`It's not Your turn.`); } if (byPlayer.side !== chosenPiece.side) { throw new Error('Player can not move other players pieces.'); @@ -54,7 +54,7 @@ export class ChessEngine implements ChessModel { private onPieceWasMoved(event: PieceWasMoved): void { this.board.movePiece(event.from, event.to); - this.currentSide = event.piece.side; + this.currentSide = this.changeTurn(event.piece.side); } private canMoveOnSquare(squareFrom: Square, squareTo: Square): boolean { @@ -63,4 +63,8 @@ export class ChessEngine implements ChessModel { piecePossibleMoves?.some((possibleMove) => possibleMove.column === squareTo.column && possibleMove.row === squareTo.row) ?? false ); } + + private changeTurn(side: Side): Side { + return side === Side.WHITE ? Side.BLACK : Side.WHITE; + } } diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index b9f9581..b6e8032 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -99,7 +99,7 @@ describe('Chess Engine', () => { engine.move(player, squareStart, squareMiddle); - expect(() => engine.move(player, squareMiddle, squareFinish)).toThrowError('Player can not move twice in a row.'); + expect(() => engine.move(player, squareMiddle, squareFinish)).toThrowError(`It's not Your turn.`); }); it('Should throw an Error if player wants to move piece that was just captured', () => { From 08e85aee5eed9d70e839c05e5ef953dd5c938bcb Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 22:48:01 +0100 Subject: [PATCH 083/134] #43 MODEL - ChessEngine - Checking the king's check | Add finding king position on new chessboard --- src/app/model/ChessEngine.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index f61ef80..4d5ff54 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,6 +1,6 @@ import { ChessModel } from './ChessModel'; import { Side, Square, SquareWithPiece } from './Types'; -import { Piece } from './pieces'; +import { King, Piece } from './pieces'; import { Player } from './Player'; import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; @@ -10,6 +10,7 @@ import { isDefined } from './HelperFunctions'; export class ChessEngine implements ChessModel { private currentSide: Side = Side.WHITE; readonly squaresWithPiece: SquareWithPiece; + constructor(private readonly board: Chessboard) { this.squaresWithPiece = board.squaresWithPiece; } @@ -28,7 +29,7 @@ export class ChessEngine implements ChessModel { if (!this.canMoveOnSquare(squareFrom, squareTo)) { throw new Error('Piece can not move to given square.'); } - if (this.willBeKingChecked(squareFrom, squareTo)) { + if (this.willBeKingChecked(byPlayer, squareFrom, squareTo)) { throw new Error(`The player cannot move piece which causes check of his king`); } @@ -71,13 +72,20 @@ export class ChessEngine implements ChessModel { return side === Side.WHITE ? Side.BLACK : Side.WHITE; } - private willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { + private willBeKingChecked(player: Player, squareFrom: Square, squareTo: Square): boolean { const proposedSquaresWithPiece: SquareWithPiece = { ...this.board.squaresWithPiece }; + // TODO: find king position on new chessboard + const kingPosition = + player.side === Side.WHITE + ? Object.keys(proposedSquaresWithPiece).find((key) => proposedSquaresWithPiece[key] === new King(Side.WHITE)) + : Object.keys(proposedSquaresWithPiece).find((key) => proposedSquaresWithPiece[key] === new King(Side.BLACK)); + // TODO: set loop where item is every pieces from other side and return type of squares array { // TODO: check possible squares where pieces of oponent can move to } + // TODO: if it will be king's square on the above squares (where pieces of oponent can move to), function should return true // DONE: in other way return false From 380acf248655ad358dc45c248d50565f7237e8aa Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Thu, 11 Feb 2021 23:11:26 +0100 Subject: [PATCH 084/134] #43 MODEL - ChessEngine - Checking the king's check | Fix test description --- test/app/model/ChessEngine.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 49b85a3..e926417 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -150,7 +150,7 @@ describe('Chess Engine', () => { const blackKing = new King(Side.BLACK); const playerWhite = new Player(Side.WHITE); - it(`Should not throw error if the king's move causes his check.`, () => { + it(`Should not throw error if the king's move doesn't cause his check.`, () => { const boardWithPieces: SquareWithPiece = { A2: whiteKing, A8: blackKing, From a4e123dcce2e3955ef4ff324371100efdebbebf9 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 00:42:15 +0100 Subject: [PATCH 085/134] #43 MODEL - ChessEngine - Checking the king's check | Avoid problem with finding king position on new chessboard (Using "new King(Side.WHITE)" is not working) --- src/app/model/ChessEngine.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 4d5ff54..152c1fa 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -78,10 +78,15 @@ export class ChessEngine implements ChessModel { // TODO: find king position on new chessboard const kingPosition = player.side === Side.WHITE - ? Object.keys(proposedSquaresWithPiece).find((key) => proposedSquaresWithPiece[key] === new King(Side.WHITE)) - : Object.keys(proposedSquaresWithPiece).find((key) => proposedSquaresWithPiece[key] === new King(Side.BLACK)); + ? Object.keys(proposedSquaresWithPiece).find( + (key) => proposedSquaresWithPiece[key].name === 'King' && proposedSquaresWithPiece[key].side === player.side, + ) + : Object.keys(proposedSquaresWithPiece).find( + (key) => proposedSquaresWithPiece[key].name === 'King' && proposedSquaresWithPiece[key].side !== player.side, + ); // TODO: set loop where item is every pieces from other side and return type of squares array + { // TODO: check possible squares where pieces of oponent can move to } From 3ce356e368a474696d5c0dac86509351f42f4062 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 02:26:43 +0100 Subject: [PATCH 086/134] #43 MODEL - ChessEngine - Checking the king's check | Fix calling error in tests --- test/app/model/ChessEngine.spec.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index e926417..e731ee8 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -169,7 +169,7 @@ describe('Chess Engine', () => { to: squareTo, }, ]; - expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); + expect(() => engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); }); it(`Should throw an error if the king's move causes his check.`, () => { @@ -185,7 +185,7 @@ describe('Chess Engine', () => { const squareFrom: Square = { column: 'A', row: 1 }; const squareTo: Square = { column: 'A', row: 2 }; - expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); }); it(`Should throw an error if the white piece's move causes white king check.`, () => { @@ -201,7 +201,7 @@ describe('Chess Engine', () => { const squareFrom: Square = { column: 'A', row: 2 }; const squareTo: Square = { column: 'G', row: 2 }; - expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); }); it(`Should not throw an error if the king is on checked square and the king's move does not cause his check.`, () => { @@ -223,7 +223,7 @@ describe('Chess Engine', () => { to: squareTo, }, ]; - expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); + expect(() => engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); }); it(`Should throw an error if the king is on checked square and the king's move causes his check.`, () => { @@ -238,7 +238,7 @@ describe('Chess Engine', () => { const squareFrom: Square = { column: 'A', row: 2 }; const squareTo: Square = { column: 'B', row: 3 }; - expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); }); it(`Should throw an error if the king is on checked square and the piece's move causes check of his king.`, () => { @@ -254,7 +254,7 @@ describe('Chess Engine', () => { const squareFrom: Square = { column: 'A', row: 3 }; const squareTo: Square = { column: 'B', row: 2 }; - expect(engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); }); }); }); From a5fe02138cb220e02aecaabfe2897a0510afe51a Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 02:49:18 +0100 Subject: [PATCH 087/134] #43 MODEL - ChessEngine - Checking the king's check | Fix error in one test --- test/app/model/ChessEngine.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index e731ee8..fbf1d7b 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -169,7 +169,7 @@ describe('Chess Engine', () => { to: squareTo, }, ]; - expect(() => engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); + expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); }); it(`Should throw an error if the king's move causes his check.`, () => { @@ -223,7 +223,7 @@ describe('Chess Engine', () => { to: squareTo, }, ]; - expect(() => engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); + expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); }); it(`Should throw an error if the king is on checked square and the king's move causes his check.`, () => { From dd3b1993d662d1dd0dca2453006e280706bcf3ca Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 03:11:02 +0100 Subject: [PATCH 088/134] #43 MODEL - ChessEngine - Checking the king's check | Only working task --- src/app/model/ChessEngine.ts | 59 ++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 12 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 152c1fa..066bfe4 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,5 +1,5 @@ import { ChessModel } from './ChessModel'; -import { Side, Square, SquareWithPiece } from './Types'; +import { Row, Side, Square, SquareWithPiece } from './Types'; import { King, Piece } from './pieces'; import { Player } from './Player'; import { Chessboard } from './Chessboard'; @@ -29,8 +29,8 @@ export class ChessEngine implements ChessModel { if (!this.canMoveOnSquare(squareFrom, squareTo)) { throw new Error('Piece can not move to given square.'); } - if (this.willBeKingChecked(byPlayer, squareFrom, squareTo)) { - throw new Error(`The player cannot move piece which causes check of his king`); + if (this.willBeKingChecked(byPlayer, this.board, squareFrom, squareTo)) { + throw new Error(`The player cannot move piece which causes check of his king.`); } const pieceWasMoved: PieceWasMoved = { @@ -72,11 +72,19 @@ export class ChessEngine implements ChessModel { return side === Side.WHITE ? Side.BLACK : Side.WHITE; } - private willBeKingChecked(player: Player, squareFrom: Square, squareTo: Square): boolean { + private willBeKingChecked(player: Player, chessboard: Chessboard, squareFrom: Square, squareTo: Square): boolean { + let isCheckedSquare = false; + const proposedSquaresWithPiece: SquareWithPiece = { ...this.board.squaresWithPiece }; - // TODO: find king position on new chessboard - const kingPosition = + const movedPiece = chessboard.onPositionPiece(squareFrom); + + if (movedPiece) { + delete proposedSquaresWithPiece[`${squareFrom.column}${squareFrom.row}`]; + proposedSquaresWithPiece[`${squareTo.column}${squareTo.row}`] = movedPiece; + } + + const allyKingPositionKey = player.side === Side.WHITE ? Object.keys(proposedSquaresWithPiece).find( (key) => proposedSquaresWithPiece[key].name === 'King' && proposedSquaresWithPiece[key].side === player.side, @@ -85,15 +93,42 @@ export class ChessEngine implements ChessModel { (key) => proposedSquaresWithPiece[key].name === 'King' && proposedSquaresWithPiece[key].side !== player.side, ); - // TODO: set loop where item is every pieces from other side and return type of squares array - - { - // TODO: check possible squares where pieces of oponent can move to + if (!allyKingPositionKey) { + return (isCheckedSquare = false); } - // TODO: if it will be king's square on the above squares (where pieces of oponent can move to), function should return true + const kingPosition = { + column: allyKingPositionKey[0], + row: Number(allyKingPositionKey[1]) as Row, + }; + + Object.keys(proposedSquaresWithPiece).map((key, index) => { + if (proposedSquaresWithPiece[key].side !== player.side) { + // TODO: check possible squares where pieces of oponent can move to + // TODO: if it will be king's square on the above squares (where pieces of oponent can move to), function should return true + + const enemyPiecePosition = { + column: key[0], + row: Number(key[1]) as Row, + }; + + const possiblePieceMoves = proposedSquaresWithPiece[key].possibleMoves( + enemyPiecePosition, + new Chessboard(proposedSquaresWithPiece), + ); + + const isKingPositionOnPossibleEnemyPieceMoves = possiblePieceMoves.some( + (item) => JSON.stringify(item) == JSON.stringify(kingPosition), + ); + + if (isKingPositionOnPossibleEnemyPieceMoves) { + isCheckedSquare = true; + } + } + }); // DONE: in other way return false - return false; + + return isCheckedSquare; } } From b0d3e0ace7ca3f5281b5833933ee966ec7d17c1e Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 04:26:57 +0100 Subject: [PATCH 089/134] #43 MODEL - ChessEngine - Checking the king's check | Finish checking is King checked function. Add Lodash library. --- package-lock.json | 18 +++++++--- package.json | 2 ++ src/app/model/ChessEngine.ts | 66 ++++++++++++++---------------------- 3 files changed, 42 insertions(+), 44 deletions(-) diff --git a/package-lock.json b/package-lock.json index ef6bedd..8c93685 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "eslint-config-prettier": "^7.2.0", + "lodash": "^4.17.20", "parcel": "^1.12.4", "regenerator-runtime": "^0.13.7", "uuid": "^8.3.0" @@ -21,6 +22,7 @@ "@testing-library/jest-dom": "^5.11.6", "@testing-library/user-event": "^12.2.2", "@types/jest": "^26.0.20", + "@types/lodash": "^4.14.168", "@types/node": "^14.14.22", "@typescript-eslint/eslint-plugin": "^4.14.0", "@typescript-eslint/parser": "^4.14.0", @@ -1428,7 +1430,6 @@ "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", @@ -1967,6 +1968,12 @@ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, + "node_modules/@types/lodash": { + "version": "4.14.168", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", + "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", + "dev": true + }, "node_modules/@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -3115,7 +3122,6 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", - "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -7566,7 +7572,6 @@ "@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", @@ -8850,7 +8855,6 @@ "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -15684,6 +15688,12 @@ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, + "@types/lodash": { + "version": "4.14.168", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", + "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", + "dev": true + }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", diff --git a/package.json b/package.json index 69f2b08..251c2af 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "homepage": "https://github.com/nowakprojects/CodersCamp2020.Project.TypeScript.Chess#readme", "dependencies": { "eslint-config-prettier": "^7.2.0", + "lodash": "^4.17.20", "parcel": "^1.12.4", "regenerator-runtime": "^0.13.7", "uuid": "^8.3.0" @@ -39,6 +40,7 @@ "@testing-library/jest-dom": "^5.11.6", "@testing-library/user-event": "^12.2.2", "@types/jest": "^26.0.20", + "@types/lodash": "^4.14.168", "@types/node": "^14.14.22", "@typescript-eslint/eslint-plugin": "^4.14.0", "@typescript-eslint/parser": "^4.14.0", diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 066bfe4..1f5f41d 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,11 +1,12 @@ import { ChessModel } from './ChessModel'; import { Row, Side, Square, SquareWithPiece } from './Types'; -import { King, Piece } from './pieces'; +import { Piece } from './pieces'; import { Player } from './Player'; import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; import { isDefined } from './HelperFunctions'; +import _ from 'lodash/fp'; export class ChessEngine implements ChessModel { private currentSide: Side = Side.WHITE; @@ -73,62 +74,47 @@ export class ChessEngine implements ChessModel { } private willBeKingChecked(player: Player, chessboard: Chessboard, squareFrom: Square, squareTo: Square): boolean { - let isCheckedSquare = false; + let isCheckedSquareFlag = false; - const proposedSquaresWithPiece: SquareWithPiece = { ...this.board.squaresWithPiece }; + const proposedChessboard = _.cloneDeep(chessboard); + const { squaresWithPiece: proposedSquaresWithPieces } = proposedChessboard; const movedPiece = chessboard.onPositionPiece(squareFrom); + const positionFrom = `${squareFrom.column}${squareFrom.row}`; + const positionTo = `${squareTo.column}${squareTo.row}`; + delete proposedSquaresWithPieces[positionFrom]; + proposedSquaresWithPieces[positionTo] = movedPiece as Piece; + + const allyKingPositionKey = Object.keys(proposedSquaresWithPieces).find((key) => { + const isKingName = proposedSquaresWithPieces[key].name === 'King'; + const isPlayerSide = proposedSquaresWithPieces[key].side === player.side; + return isKingName && isPlayerSide; + }); - if (movedPiece) { - delete proposedSquaresWithPiece[`${squareFrom.column}${squareFrom.row}`]; - proposedSquaresWithPiece[`${squareTo.column}${squareTo.row}`] = movedPiece; - } - - const allyKingPositionKey = - player.side === Side.WHITE - ? Object.keys(proposedSquaresWithPiece).find( - (key) => proposedSquaresWithPiece[key].name === 'King' && proposedSquaresWithPiece[key].side === player.side, - ) - : Object.keys(proposedSquaresWithPiece).find( - (key) => proposedSquaresWithPiece[key].name === 'King' && proposedSquaresWithPiece[key].side !== player.side, - ); - - if (!allyKingPositionKey) { - return (isCheckedSquare = false); - } + if (!allyKingPositionKey) return (isCheckedSquareFlag = false); const kingPosition = { column: allyKingPositionKey[0], row: Number(allyKingPositionKey[1]) as Row, }; - Object.keys(proposedSquaresWithPiece).map((key, index) => { - if (proposedSquaresWithPiece[key].side !== player.side) { - // TODO: check possible squares where pieces of oponent can move to - // TODO: if it will be king's square on the above squares (where pieces of oponent can move to), function should return true + Object.keys(proposedSquaresWithPieces).map((key) => { + const mappedPiece = proposedSquaresWithPieces[key]; + const isEnemySide = mappedPiece.side !== player.side; - const enemyPiecePosition = { + if (isEnemySide) { + const mappedPiecePosition = { column: key[0], row: Number(key[1]) as Row, }; - - const possiblePieceMoves = proposedSquaresWithPiece[key].possibleMoves( - enemyPiecePosition, - new Chessboard(proposedSquaresWithPiece), + const possibleMappedPieceMoves = mappedPiece.possibleMoves(mappedPiecePosition, proposedChessboard); + const isKingPositionOnPossibleEnemyPieceMoves = possibleMappedPieceMoves.some( + (checkedPosition) => JSON.stringify(checkedPosition) == JSON.stringify(kingPosition), ); - const isKingPositionOnPossibleEnemyPieceMoves = possiblePieceMoves.some( - (item) => JSON.stringify(item) == JSON.stringify(kingPosition), - ); - - if (isKingPositionOnPossibleEnemyPieceMoves) { - isCheckedSquare = true; - } + if (isKingPositionOnPossibleEnemyPieceMoves) isCheckedSquareFlag = isKingPositionOnPossibleEnemyPieceMoves; } }); - - // DONE: in other way return false - - return isCheckedSquare; + return isCheckedSquareFlag; } } From 0e501fb5d584ae824165a58017f054d45b375d3a Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 04:34:20 +0100 Subject: [PATCH 090/134] #43 MODEL - ChessEngine - Checking the king's check | Update after automatic DeepScan Code Review --- src/app/model/ChessEngine.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 1f5f41d..3afe9f7 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -98,7 +98,7 @@ export class ChessEngine implements ChessModel { row: Number(allyKingPositionKey[1]) as Row, }; - Object.keys(proposedSquaresWithPieces).map((key) => { + Object.keys(proposedSquaresWithPieces).forEach((key) => { const mappedPiece = proposedSquaresWithPieces[key]; const isEnemySide = mappedPiece.side !== player.side; From afe28ee099eb4bd6a14294667fa58d0b6faf55ed Mon Sep 17 00:00:00 2001 From: Pawel Szambelan Date: Fri, 12 Feb 2021 14:48:12 +0100 Subject: [PATCH 091/134] add build on windows option in package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 69f2b08..1b3b8e3 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "clean": "rimraf .cache && rimraf coverage && rimraf dist && rimraf node_modules", "prebuild": "rimraf dist", "build": "rm -rf dist && tsc --noEmit && parcel build index.html --public-url ./", + "buildOnWindows": "rimraf dist && tsc --noEmit && parcel build index.html --public-url ./", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "format:ci": "prettier -c \"src/**/*.ts\" \"test/**/*.ts\"", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix --format codeframe", From 374045930ff9b24f6dc6344806ff9583f57c6978 Mon Sep 17 00:00:00 2001 From: Tomek <50457289+tomdworniczak@users.noreply.github.com> Date: Fri, 12 Feb 2021 16:13:16 +0100 Subject: [PATCH 092/134] View/#28 highlighting possible moves (#65) --- sass/_vars.scss | 2 + sass/components/_chessboard.scss | 8 +++ src/app/model/ChessEngine.ts | 4 ++ src/app/model/ChessModel.ts | 1 + src/app/model/Chessboard.ts | 2 +- src/app/model/PieceWasMoved.ts | 2 +- src/app/model/PiecesPositions.ts | 2 +- src/app/model/Types.ts | 2 +- src/app/presenter/ChessBoardPresenter.ts | 21 ++++++-- src/app/view/ChessBoardView.ts | 8 ++- src/app/view/console/ConsoleChessBoardView.ts | 8 ++- src/app/view/web/WebChessView.ts | 25 ++++++++- .../app/presenter/ChessBoardPresenter.spec.ts | 54 +++++++++++++++---- test/app/view/web/WebChessBoardView.spec.ts | 50 +++++++++++++++++ 14 files changed, 168 insertions(+), 21 deletions(-) diff --git a/sass/_vars.scss b/sass/_vars.scss index cec38d7..6290618 100644 --- a/sass/_vars.scss +++ b/sass/_vars.scss @@ -4,6 +4,8 @@ $chessboard-size--landscape: 100vh; //Colors $button-primary: #ffd700; $button-hover: #f1bf00; +$square-possibleMove: #006600; +$square-selected: #002aff; //Fonts $font-family--primary: 'Caesar Dressing', sans-serif; diff --git a/sass/components/_chessboard.scss b/sass/components/_chessboard.scss index a2726da..1cfceef 100644 --- a/sass/components/_chessboard.scss +++ b/sass/components/_chessboard.scss @@ -20,6 +20,14 @@ &--dark { background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)), url('../static/img/board/dark.png'); } + + &--possibleMove { + box-shadow: inset 0 0 15px $square-possibleMove; + } + + &--selected { + box-shadow: inset 0 0 15px $square-selected; + } } @media (orientation: landscape) { diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index d2faec7..b5e8f7a 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -67,4 +67,8 @@ export class ChessEngine implements ChessModel { private changeTurn(side: Side): Side { return side === Side.WHITE ? Side.BLACK : Side.WHITE; } + + possibleMoves(position: Square): Square[] { + return this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; + } } diff --git a/src/app/model/ChessModel.ts b/src/app/model/ChessModel.ts index 3bcdb3c..0e6042d 100644 --- a/src/app/model/ChessModel.ts +++ b/src/app/model/ChessModel.ts @@ -5,5 +5,6 @@ import { PieceWasCaptured } from './PieceWasCaptured'; export interface ChessModel { readonly squaresWithPiece: SquareWithPiece; + possibleMoves(position: Square): Square[]; move(byPlayer: Player, squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[]; } diff --git a/src/app/model/Chessboard.ts b/src/app/model/Chessboard.ts index 277d202..c821544 100644 --- a/src/app/model/Chessboard.ts +++ b/src/app/model/Chessboard.ts @@ -1,5 +1,5 @@ import { PiecePositions } from './PiecesPositions'; -import { Piece } from './pieces/Piece'; +import { Piece } from './pieces'; import { Square, SquareWithPiece } from './Types'; import { PieceMoves } from './PieceMoves'; import { PIECES_START_POSITION } from './Constances'; diff --git a/src/app/model/PieceWasMoved.ts b/src/app/model/PieceWasMoved.ts index 301fcea..4115945 100644 --- a/src/app/model/PieceWasMoved.ts +++ b/src/app/model/PieceWasMoved.ts @@ -1,4 +1,4 @@ -import { Piece } from './pieces/Piece'; +import { Piece } from './pieces'; import { Square } from './Types'; export type PieceWasMoved = { diff --git a/src/app/model/PiecesPositions.ts b/src/app/model/PiecesPositions.ts index c45f1c6..2d00cd9 100644 --- a/src/app/model/PiecesPositions.ts +++ b/src/app/model/PiecesPositions.ts @@ -1,4 +1,4 @@ -import { Piece } from './pieces/Piece'; +import { Piece } from './pieces'; import { Square } from './Types'; export interface PiecePositions { diff --git a/src/app/model/Types.ts b/src/app/model/Types.ts index e3d0343..bec1abe 100644 --- a/src/app/model/Types.ts +++ b/src/app/model/Types.ts @@ -1,4 +1,4 @@ -import { Piece } from './pieces/Piece'; +import { Piece } from './pieces'; export const columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']; export type Column = typeof columns[number]; diff --git a/src/app/presenter/ChessBoardPresenter.ts b/src/app/presenter/ChessBoardPresenter.ts index 8a0a9f8..9c43580 100644 --- a/src/app/presenter/ChessBoardPresenter.ts +++ b/src/app/presenter/ChessBoardPresenter.ts @@ -2,6 +2,7 @@ import { ChessBoardView } from '../view/ChessBoardView'; import { Position } from './Position'; import { ChessModel } from '../model'; import { SquareWasClicked } from '../view/events/SquareWasClicked'; +import { columns, Row, Square } from '../model'; export class ChessBoardPresenter { constructor(private readonly view: ChessBoardView, private readonly chessModel: ChessModel) { @@ -9,13 +10,25 @@ export class ChessBoardPresenter { } onSquareWasClicked(position: Position): void { - //chessModel zwroci mozliwe ruchy dla bierki na wybranej pozycji - //presenter kaze, zeby view wyswietlil mozliwe ruchy -> wywolujac np. view.showAvailableMoves(squares). - console.log(position); - this.view.showSelectedPiece(position); + this.view.hideSelection(); + this.view.showSelectedPiece(this.translatePositionToAlgebraicNotation(position)); + + this.view.hideAllAvailableMoves(); + const squaresStringArray = this.getPossibleMoves(position); + this.view.showAvailableMoves(squaresStringArray); } startGame(): void { this.view.showChessBoard(this.chessModel.squaresWithPiece); } + + private getPossibleMoves(position: Position): string[] { + const square: Square = { column: columns[position.x - 1], row: position.y as Row }; + return this.chessModel.possibleMoves(square)?.map((square) => `${square.column.toLowerCase()}${square.row}`) ?? []; + } + + private translatePositionToAlgebraicNotation(position: Position): string { + const square: Square = { column: columns[position.x - 1], row: position.y as Row }; + return `${square.column.toLowerCase()}${square.row}`; + } } diff --git a/src/app/view/ChessBoardView.ts b/src/app/view/ChessBoardView.ts index 881f911..298e140 100644 --- a/src/app/view/ChessBoardView.ts +++ b/src/app/view/ChessBoardView.ts @@ -4,6 +4,12 @@ import { PiecesBoardPositions } from './Types'; export interface ChessBoardView extends ViewEventSource { showChessBoard(piecesPositions: PiecesBoardPositions): void; + showAvailableMoves(squaresToHighlight: string[]): void; + + hideAllAvailableMoves(): void; + //TODO: Do zmiany, brakuje jaka bierke pokazac - showSelectedPiece(position: { x: number; y: number }): void; + showSelectedPiece(id: string): void; + + hideSelection(): void; } diff --git a/src/app/view/console/ConsoleChessBoardView.ts b/src/app/view/console/ConsoleChessBoardView.ts index 832fcb9..939517c 100644 --- a/src/app/view/console/ConsoleChessBoardView.ts +++ b/src/app/view/console/ConsoleChessBoardView.ts @@ -8,5 +8,11 @@ export class ConsoleChessBoardView implements ChessBoardView { console.log('Tutaj bysmy wyswietlili szachownice na konsoli'); } - showSelectedPiece(position: { x: number; y: number }): void {} + showSelectedPiece(id: string): void {} + + hideAllAvailableMoves(): void {} + + hideSelection(): void {} + + showAvailableMoves(squaresToHighlight: string[]): void {} } diff --git a/src/app/view/web/WebChessView.ts b/src/app/view/web/WebChessView.ts index f11cd8c..d388ea0 100644 --- a/src/app/view/web/WebChessView.ts +++ b/src/app/view/web/WebChessView.ts @@ -21,14 +21,35 @@ export class WebChessView implements ChessBoardView { this.viewEventBus.listenOn(eventType, reaction); } - showSelectedPiece(position: { x: number; y: number }): void {} + showSelectedPiece(id: string): void { + if (this.parent.querySelector(`#${id}`)?.hasChildNodes()) { + this.parent.querySelector(`#${id}`)?.classList.add('square--selected'); + } + } + + hideSelection(): void { + this.parent.querySelectorAll('.square')?.forEach((square) => { + square.classList.remove('square--selected'); + }); + } + + showAvailableMoves(squaresToHighlight: string[]): void { + squaresToHighlight.forEach((square) => { + this.parent.querySelector(`#${square}`)?.classList.add('square--possibleMove'); + }); + } + + hideAllAvailableMoves(): void { + this.parent.querySelectorAll('.square')?.forEach((square) => { + square.classList.remove('square--possibleMove'); + }); + } private renderPiecesOnBoard(piecesPositions: PiecesBoardPositions) { Object.keys(piecesPositions) .map((square) => { const pieceName = piecesPositions[square].name.toLowerCase(); const pieceSide = piecesPositions[square].side.toLowerCase(); - const pieceImage = `static/img/pieces/${pieceSide}-${pieceName}.svg`; return { path: pieceImage, squareId: `#${square.toLowerCase()}`, square: square }; }) diff --git a/test/app/presenter/ChessBoardPresenter.spec.ts b/test/app/presenter/ChessBoardPresenter.spec.ts index f43c60d..f2ab9ff 100644 --- a/test/app/presenter/ChessBoardPresenter.spec.ts +++ b/test/app/presenter/ChessBoardPresenter.spec.ts @@ -1,26 +1,43 @@ import '@testing-library/jest-dom'; import { ChessBoardView } from '../../../src/app/view/ChessBoardView'; -import { ChessModel } from '../../../src/app/model/ChessModel'; +import { ChessModel, PIECES_START_POSITION, Square } from '../../../src/app/model'; import { ChessBoardPresenter } from '../../../src/app/presenter/ChessBoardPresenter'; import { ViewEventBus } from '../../../src/app/view/events/ViewEventBus'; import { ViewEvent } from '../../../src/app/view/events/ViewEvent'; import { SquareWasClicked } from '../../../src/app/view/events/SquareWasClicked'; import { InMemoryViewEventBus } from '../../../src/app/view/events/InMemoryViewEventBus'; -import { PIECES_START_POSITION } from '../../../src/app/model/Constances'; describe('ChessBoardPresenter', () => { - const viewEvents: ViewEventBus = new InMemoryViewEventBus(); - const view: ChessBoardView = chessBoardViewMock(viewEvents); - const model: ChessModel = { squaresWithPiece: PIECES_START_POSITION, move: jest.fn() }; - const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); + it('when square A1 was clicked on the view, then selected piece should be shown with its possible moves', () => { + const chessboardState = chessboardStateMock([]); - it('when square was clicked on the view, then selected piece should be shown', () => { - viewEvents.publish(new SquareWasClicked({ x: 1, y: 1 })); + chessboardState.viewEvents.publish(new SquareWasClicked({ x: 1, y: 1 })); - expect(view.showSelectedPiece).toHaveBeenCalledWith({ x: 1, y: 1 }); + expect(chessboardState.view.showSelectedPiece).toHaveBeenCalledWith('a1'); + expect(chessboardState.view.hideSelection).toHaveBeenCalled(); + expect(chessboardState.view.hideAllAvailableMoves).toHaveBeenCalled(); + expect(chessboardState.view.showAvailableMoves).toHaveBeenCalledWith([]); + }); + + it('when square A2 was clicked on the view, then selected piece should be shown with its possible moves', () => { + const chessboardState = chessboardStateMock([ + { column: 'A', row: 3 }, + { column: 'A', row: 4 }, + ]); + + chessboardState.viewEvents.publish(new SquareWasClicked({ x: 1, y: 2 })); + + expect(chessboardState.view.showSelectedPiece).toHaveBeenCalledWith('a2'); + expect(chessboardState.view.hideSelection).toHaveBeenCalled(); + expect(chessboardState.view.hideAllAvailableMoves).toHaveBeenCalled(); + expect(chessboardState.view.showAvailableMoves).toHaveBeenCalledWith(['a3', 'a4']); }); it('when game starts, check if pieces will show on the screen', () => { + const viewEvents: ViewEventBus = new InMemoryViewEventBus(); + const view: ChessBoardView = chessBoardViewMock(viewEvents); + const model: ChessModel = { squaresWithPiece: PIECES_START_POSITION, move: jest.fn(), possibleMoves: jest.fn() }; + const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); presenter.startGame(); expect(view.showChessBoard).toHaveBeenCalledWith(PIECES_START_POSITION); @@ -34,5 +51,24 @@ function chessBoardViewMock(viewEventBus: ViewEventBus): ChessBoardView { }, showChessBoard: jest.fn(), showSelectedPiece: jest.fn(), + hideSelection: jest.fn(), + showAvailableMoves: jest.fn(), + hideAllAvailableMoves: jest.fn(), + }; +} + +function chessboardStateMock(square: Square[]) { + const viewEvents: ViewEventBus = new InMemoryViewEventBus(); + const view: ChessBoardView = chessBoardViewMock(viewEvents); + const model: ChessModel = { + squaresWithPiece: PIECES_START_POSITION, + move: jest.fn(), + possibleMoves(position: Square): Square[] { + return square; + }, }; + + new ChessBoardPresenter(view, model); + + return { view, viewEvents }; } diff --git a/test/app/view/web/WebChessBoardView.spec.ts b/test/app/view/web/WebChessBoardView.spec.ts index 39d25bd..d8076ec 100644 --- a/test/app/view/web/WebChessBoardView.spec.ts +++ b/test/app/view/web/WebChessBoardView.spec.ts @@ -82,4 +82,54 @@ describe('Web Chess Board View with starting pieces positions', () => { expect(e4Square).toBeEmptyDOMElement(); }); + + it('Should highlight square, when clicked', async () => { + const a1Square = await screen.findByTestId('a1'); + + chessBoardView.showSelectedPiece(a1Square.id); + + expect(a1Square).toHaveClass('square--selected'); + }); + + it('Should hide selection of every selected square', async () => { + const a1Square = await screen.findByTestId('a1'); + const e7Square = await screen.findByTestId('e7'); + const f8Square = await screen.findByTestId('f8'); + + chessBoardView.hideSelection(); + + expect(a1Square).not.toHaveClass('square--selected'); + expect(e7Square).not.toHaveClass('square--selected'); + expect(f8Square).not.toHaveClass('square--selected'); + }); + + it('Should highlight all possible squares to move', async () => { + const a3Square = await screen.findByTestId('a3'); + const a4Square = await screen.findByTestId('a4'); + const a5Square = await screen.findByTestId('a5'); + + chessBoardView.showAvailableMoves(['a3', 'a4', 'a5']); + + expect(a3Square).toHaveClass('square--possibleMove'); + expect(a4Square).toHaveClass('square--possibleMove'); + expect(a5Square).toHaveClass('square--possibleMove'); + }); + + it('Should remove highlight from all squares', async () => { + const a3Square = await screen.findByTestId('a3'); + const a4Square = await screen.findByTestId('a4'); + const a5Square = await screen.findByTestId('a5'); + + chessBoardView.showAvailableMoves(['a3', 'a4', 'a5']); + + expect(a3Square).toHaveClass('square--possibleMove'); + expect(a4Square).toHaveClass('square--possibleMove'); + expect(a5Square).toHaveClass('square--possibleMove'); + + chessBoardView.hideAllAvailableMoves(); + + expect(a3Square).not.toHaveClass('square--possibleMove'); + expect(a4Square).not.toHaveClass('square--possibleMove'); + expect(a5Square).not.toHaveClass('square--possibleMove'); + }); }); From e50ce433a0a4464572ae08883665541f2dabd766 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 19:37:47 +0100 Subject: [PATCH 093/134] Update package-lock.json --- package-lock.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package-lock.json b/package-lock.json index 8c93685..c7603f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1430,6 +1430,7 @@ "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", @@ -3122,6 +3123,7 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -7572,6 +7574,7 @@ "@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", @@ -8855,6 +8858,7 @@ "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", From 4d41beb4af641477a139d1906ac7cbda55c14d25 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 21:43:01 +0100 Subject: [PATCH 094/134] Changing after CodeReview - Delete tests --- test/app/model/ChessEngine.spec.ts | 228 ++++++++++++++--------------- 1 file changed, 114 insertions(+), 114 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index fbf1d7b..5f48a3c 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -1,5 +1,5 @@ import { ChessEngine } from '../../../src/app/model/ChessEngine'; -import { Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; +import { Row, Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; import { Chessboard } from '../../../src/app/model/Chessboard'; import { Pawn } from '../../../src/app/model/pieces/Pawn'; import { Player } from '../../../src/app/model/Player'; @@ -144,117 +144,117 @@ describe('Chess Engine', () => { ).toThrowError('There is no piece on this square.'); }); - describe('If player wants to move piece that check if it causes checking of his king.', () => { - const errorMessage = `The player cannot move piece which causes check of his king.`; - const whiteKing = new King(Side.WHITE); - const blackKing = new King(Side.BLACK); - const playerWhite = new Player(Side.WHITE); - - it(`Should not throw error if the king's move doesn't cause his check.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - - const squareFrom: Square = { column: 'A', row: 2 }; - const squareTo: Square = { column: 'A', row: 3 }; - - const expectedResult = [ - { - eventType: 'PieceWasMoved', - piece: whiteKing, - from: squareFrom, - to: squareTo, - }, - ]; - expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); - }); - - it(`Should throw an error if the king's move causes his check.`, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - B8: new Rook(Side.BLACK), - H2: new Rook(Side.BLACK), - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const playerWhite = new Player(Side.WHITE); - - const squareFrom: Square = { column: 'A', row: 1 }; - const squareTo: Square = { column: 'A', row: 2 }; - - expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); - }); - - it(`Should throw an error if the white piece's move causes white king check.`, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - A2: new Rook(Side.WHITE), - A8: new Rook(Side.BLACK), - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const playerWhite = new Player(Side.WHITE); - - const squareFrom: Square = { column: 'A', row: 2 }; - const squareTo: Square = { column: 'G', row: 2 }; - - expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); - }); - - it(`Should not throw an error if the king is on checked square and the king's move does not cause his check.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - B5: new Rook(Side.BLACK), - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - - const squareFrom: Square = { column: 'A', row: 2 }; - const squareTo: Square = { column: 'A', row: 3 }; - - const expectedResult = [ - { - eventType: 'PieceWasMoved', - piece: whiteKing, - from: squareFrom, - to: squareTo, - }, - ]; - expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); - }); - - it(`Should throw an error if the king is on checked square and the king's move causes his check.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A5: new Rook(Side.BLACK), - B5: new Rook(Side.BLACK), - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - - const squareFrom: Square = { column: 'A', row: 2 }; - const squareTo: Square = { column: 'B', row: 3 }; - - expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); - }); - - it(`Should throw an error if the king is on checked square and the piece's move causes check of his king.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A3: new Queen(Side.WHITE), - A5: new Rook(Side.BLACK), - G2: new Rook(Side.BLACK), - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - - const squareFrom: Square = { column: 'A', row: 3 }; - const squareTo: Square = { column: 'B', row: 2 }; - - expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); - }); - }); + // describe('If player wants to move piece that check if it causes checking of his king.', () => { + // const errorMessage = `The player cannot move piece which causes check of his king.`; + // const whiteKing = new King(Side.WHITE); + // const blackKing = new King(Side.BLACK); + // const playerWhite = new Player(Side.WHITE); + // + // it(`Should not throw error if the king's move doesn't cause his check.`, () => { + // const boardWithPieces: SquareWithPiece = { + // A2: whiteKing, + // A8: blackKing, + // }; + // const chessboard = new Chessboard(boardWithPieces); + // const engine = new ChessEngine(chessboard); + // + // const squareFrom: Square = { column: 'A', row: 2 }; + // const squareTo: Square = { column: 'A', row: 3 }; + // + // const expectedResult = [ + // { + // eventType: 'PieceWasMoved', + // piece: whiteKing, + // from: squareFrom, + // to: squareTo, + // }, + // ]; + // expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); + // }); + // + // it(`Should throw an error if the king's move causes his check.`, () => { + // const boardWithPieces: SquareWithPiece = { + // A1: whiteKing, + // B8: new Rook(Side.BLACK), + // H2: new Rook(Side.BLACK), + // }; + // const chessboard = new Chessboard(boardWithPieces); + // const engine = new ChessEngine(chessboard); + // const playerWhite = new Player(Side.WHITE); + // + // const squareFrom: Square = { column: 'A', row: 1 }; + // const squareTo: Square = { column: 'A', row: 2 }; + // + // expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + // }); + // + // it(`Should throw an error if the white piece's move causes white king check.`, () => { + // const boardWithPieces: SquareWithPiece = { + // A1: whiteKing, + // A2: new Rook(Side.WHITE), + // A8: new Rook(Side.BLACK), + // }; + // const chessboard = new Chessboard(boardWithPieces); + // const engine = new ChessEngine(chessboard); + // const playerWhite = new Player(Side.WHITE); + // + // const squareFrom: Square = { column: 'A', row: 2 }; + // const squareTo: Square = { column: 'G', row: 2 }; + // + // expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + // }); + // + // it(`Should not throw an error if the king is on checked square and the king's move does not cause his check.`, () => { + // const boardWithPieces: SquareWithPiece = { + // A2: whiteKing, + // B5: new Rook(Side.BLACK), + // }; + // const chessboard = new Chessboard(boardWithPieces); + // const engine = new ChessEngine(chessboard); + // + // const squareFrom: Square = { column: 'A', row: 2 }; + // const squareTo: Square = { column: 'A', row: 3 }; + // + // const expectedResult = [ + // { + // eventType: 'PieceWasMoved', + // piece: whiteKing, + // from: squareFrom, + // to: squareTo, + // }, + // ]; + // expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); + // }); + // + // it(`Should throw an error if the king is on checked square and the king's move causes his check.`, () => { + // const boardWithPieces: SquareWithPiece = { + // A2: whiteKing, + // A5: new Rook(Side.BLACK), + // B5: new Rook(Side.BLACK), + // }; + // const chessboard = new Chessboard(boardWithPieces); + // const engine = new ChessEngine(chessboard); + // + // const squareFrom: Square = { column: 'A', row: 2 }; + // const squareTo: Square = { column: 'B', row: 3 }; + // + // expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + // }); + // + // it(`Should throw an error if the king is on checked square and the piece's move causes check of his king.`, () => { + // const boardWithPieces: SquareWithPiece = { + // A2: whiteKing, + // A3: new Queen(Side.WHITE), + // A5: new Rook(Side.BLACK), + // G2: new Rook(Side.BLACK), + // }; + // const chessboard = new Chessboard(boardWithPieces); + // const engine = new ChessEngine(chessboard); + // + // const squareFrom: Square = { column: 'A', row: 3 }; + // const squareTo: Square = { column: 'B', row: 2 }; + // + // expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); + // }); + // }); }); From 7be5b7a3ed5aeaf28e8bb75954bf3bbcd6880b94 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 22:10:49 +0100 Subject: [PATCH 095/134] Changing after CodeReview | Add first test --- test/app/model/ChessEngine.spec.ts | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 5f48a3c..85522f8 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -1,5 +1,5 @@ import { ChessEngine } from '../../../src/app/model/ChessEngine'; -import { Row, Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; +import { Column, Row, Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; import { Chessboard } from '../../../src/app/model/Chessboard'; import { Pawn } from '../../../src/app/model/pieces/Pawn'; import { Player } from '../../../src/app/model/Player'; @@ -257,4 +257,32 @@ describe('Chess Engine', () => { // expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); // }); // }); + + describe('Return player moves without those that cause his king to check', () => { + const whiteKing = new King(Side.WHITE); + const blackKing = new King(Side.BLACK); + const playerWhite = new Player(Side.WHITE); + + it(`Should return the same possible moves array if the king's move doesn't cause his check.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + const possibleMovesBeforeFiltration = [ + { column: 'A', row: 1 }, + { column: 'A', row: 3 }, + { column: 'B', row: 1 }, + { column: 'B', row: 2 }, + { column: 'B', row: 3 }, + ]; + + const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + + const expectedResult = possibleMovesBeforeFiltration; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + }); }); From f8613af9ea1d60df2d6f998c46377f8c4ccb3b45 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 22:24:35 +0100 Subject: [PATCH 096/134] Changing after CodeReview | Finish adding tests --- test/app/model/ChessEngine.spec.ts | 156 ++++++++++++++++++++++++++++- 1 file changed, 154 insertions(+), 2 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 85522f8..aa5692a 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -1,5 +1,5 @@ import { ChessEngine } from '../../../src/app/model/ChessEngine'; -import { Column, Row, Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; +import { Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; import { Chessboard } from '../../../src/app/model/Chessboard'; import { Pawn } from '../../../src/app/model/pieces/Pawn'; import { Player } from '../../../src/app/model/Player'; @@ -260,8 +260,10 @@ describe('Chess Engine', () => { describe('Return player moves without those that cause his king to check', () => { const whiteKing = new King(Side.WHITE); + const whiteRook = new Rook(Side.WHITE); const blackKing = new King(Side.BLACK); - const playerWhite = new Player(Side.WHITE); + const blackRook = new Rook(Side.BLACK); + // const playerWhite = new Player(Side.WHITE); it(`Should return the same possible moves array if the king's move doesn't cause his check.`, () => { const boardWithPieces: SquareWithPiece = { @@ -284,5 +286,155 @@ describe('Chess Engine', () => { const expectedResult = possibleMovesBeforeFiltration; expect(returnedResult).toIncludeSameMembers(expectedResult); }); + + it(`Should return possible moves array if the king's move causes his check.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B8: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 1 }, + { column: 'A', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B3: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 1 }, + { column: 'B', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B3: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 1 }, + { column: 'B', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check but king cannot capture his enemy whose check possible moves of king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B3: blackRook, + B8: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + + const expectedResult = [{ column: 'A', row: 1 }]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible king's moves array if the king is checked.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A7: blackRook, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + + const expectedResult = [ + { column: 'B', row: 1 }, + { column: 'B', row: 2 }, + { column: 'B', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible rook's moves array if the rook's move causes his king check`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A3: whiteRook, + A7: blackRook, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 3 }; + + const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 4 }, + { column: 'A', row: 5 }, + { column: 'A', row: 6 }, + { column: 'A', row: 7 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return empty possible rook's moves array if the king is checked and rook's move causes his king check`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteRook, + A2: whiteKing, + A7: blackRook, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 1 }; + + const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + + const expectedResult = [] as Square[]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return empty possible king's moves array if it's checkmate`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A7: blackRook, + A8: blackKing, + B7: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + + const expectedResult = [] as Square[]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); }); }); From 4c107d5370c8d6c836298d254b5c761b3bf7a95e Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 22:53:31 +0100 Subject: [PATCH 097/134] Changing after CodeReview | Add empty removePlayerMovesThatCauseHisKingToCheck method --- src/app/model/ChessEngine.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index d2a645b..b44429e 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -30,9 +30,6 @@ export class ChessEngine implements ChessModel { if (!this.canMoveOnSquare(squareFrom, squareTo)) { throw new Error('Piece can not move to given square.'); } - if (this.willBeKingChecked(byPlayer, this.board, squareFrom, squareTo)) { - throw new Error(`The player cannot move piece which causes check of his king.`); - } const pieceWasMoved: PieceWasMoved = { eventType: 'PieceWasMoved', @@ -118,6 +115,12 @@ export class ChessEngine implements ChessModel { return isCheckedSquareFlag; } + removePlayerMovesThatCauseHisKingToCheck(position: Square) { + // returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position: Square, possibleMoves?: Square[], chessBoard?: Chessboard): Square[] { + + return this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; + } + possibleMoves(position: Square): Square[] { return this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; } From fd4709ae8b0583aac8fed3a01cea1a8730fe2830 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 23:10:23 +0100 Subject: [PATCH 098/134] Changing after CodeReview | Change function name. Add returnPlayerMovesWithoutThoseThatCauseHisKingToCheck method without filtering function --- src/app/model/ChessEngine.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index b44429e..1c0e8a7 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -115,13 +115,23 @@ export class ChessEngine implements ChessModel { return isCheckedSquareFlag; } - removePlayerMovesThatCauseHisKingToCheck(position: Square) { - // returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position: Square, possibleMoves?: Square[], chessBoard?: Chessboard): Square[] { + returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position: Square): Square[] { + const initialPossibleMoves = this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; - return this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; + function filteringFunction(onePossibleMove: Square) { + return true; + } + + const filteredPossibleMoves = initialPossibleMoves.filter((onePossibleMove) => filteringFunction(onePossibleMove)); + return filteredPossibleMoves; } possibleMoves(position: Square): Square[] { return this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; } } + +// player: Player, +// chessboard:Chessboard, +// squareFrom:Square, +// squareTo:Square From 0f40407dc68937f76455800577ab56e00b167f59 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 23:26:41 +0100 Subject: [PATCH 099/134] Changing after CodeReview | All tests passed --- src/app/model/ChessEngine.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 1c0e8a7..c7e1e6b 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -70,9 +70,10 @@ export class ChessEngine implements ChessModel { return side === Side.WHITE ? Side.BLACK : Side.WHITE; } - private willBeKingChecked(player: Player, chessboard: Chessboard, squareFrom: Square, squareTo: Square): boolean { + willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { let isCheckedSquareFlag = false; + const chessboard: Chessboard = this.board; const proposedChessboard = _.cloneDeep(chessboard); const { squaresWithPiece: proposedSquaresWithPieces } = proposedChessboard; @@ -84,7 +85,7 @@ export class ChessEngine implements ChessModel { const allyKingPositionKey = Object.keys(proposedSquaresWithPieces).find((key) => { const isKingName = proposedSquaresWithPieces[key].name === 'King'; - const isPlayerSide = proposedSquaresWithPieces[key].side === player.side; + const isPlayerSide = proposedSquaresWithPieces[key].side === this.currentSide; return isKingName && isPlayerSide; }); @@ -97,7 +98,7 @@ export class ChessEngine implements ChessModel { Object.keys(proposedSquaresWithPieces).forEach((key) => { const mappedPiece = proposedSquaresWithPieces[key]; - const isEnemySide = mappedPiece.side !== player.side; + const isEnemySide = mappedPiece.side !== this.currentSide; if (isEnemySide) { const mappedPiecePosition = { @@ -118,11 +119,12 @@ export class ChessEngine implements ChessModel { returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position: Square): Square[] { const initialPossibleMoves = this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; - function filteringFunction(onePossibleMove: Square) { - return true; - } + const filteringFunction = (onePossibleMove: Square) => { + const willBeKingChecked = this.willBeKingChecked(position, onePossibleMove); + return !willBeKingChecked; + }; - const filteredPossibleMoves = initialPossibleMoves.filter((onePossibleMove) => filteringFunction(onePossibleMove)); + const filteredPossibleMoves = initialPossibleMoves.filter(filteringFunction.bind(this)); return filteredPossibleMoves; } From 538214cf8f54c6998dcef6872e0a71c46c7b3e4d Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 23:28:11 +0100 Subject: [PATCH 100/134] Changing after CodeReview | Delete commented tests --- test/app/model/ChessEngine.spec.ts | 114 ----------------------------- 1 file changed, 114 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index aa5692a..75f9703 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -144,120 +144,6 @@ describe('Chess Engine', () => { ).toThrowError('There is no piece on this square.'); }); - // describe('If player wants to move piece that check if it causes checking of his king.', () => { - // const errorMessage = `The player cannot move piece which causes check of his king.`; - // const whiteKing = new King(Side.WHITE); - // const blackKing = new King(Side.BLACK); - // const playerWhite = new Player(Side.WHITE); - // - // it(`Should not throw error if the king's move doesn't cause his check.`, () => { - // const boardWithPieces: SquareWithPiece = { - // A2: whiteKing, - // A8: blackKing, - // }; - // const chessboard = new Chessboard(boardWithPieces); - // const engine = new ChessEngine(chessboard); - // - // const squareFrom: Square = { column: 'A', row: 2 }; - // const squareTo: Square = { column: 'A', row: 3 }; - // - // const expectedResult = [ - // { - // eventType: 'PieceWasMoved', - // piece: whiteKing, - // from: squareFrom, - // to: squareTo, - // }, - // ]; - // expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); - // }); - // - // it(`Should throw an error if the king's move causes his check.`, () => { - // const boardWithPieces: SquareWithPiece = { - // A1: whiteKing, - // B8: new Rook(Side.BLACK), - // H2: new Rook(Side.BLACK), - // }; - // const chessboard = new Chessboard(boardWithPieces); - // const engine = new ChessEngine(chessboard); - // const playerWhite = new Player(Side.WHITE); - // - // const squareFrom: Square = { column: 'A', row: 1 }; - // const squareTo: Square = { column: 'A', row: 2 }; - // - // expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); - // }); - // - // it(`Should throw an error if the white piece's move causes white king check.`, () => { - // const boardWithPieces: SquareWithPiece = { - // A1: whiteKing, - // A2: new Rook(Side.WHITE), - // A8: new Rook(Side.BLACK), - // }; - // const chessboard = new Chessboard(boardWithPieces); - // const engine = new ChessEngine(chessboard); - // const playerWhite = new Player(Side.WHITE); - // - // const squareFrom: Square = { column: 'A', row: 2 }; - // const squareTo: Square = { column: 'G', row: 2 }; - // - // expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); - // }); - // - // it(`Should not throw an error if the king is on checked square and the king's move does not cause his check.`, () => { - // const boardWithPieces: SquareWithPiece = { - // A2: whiteKing, - // B5: new Rook(Side.BLACK), - // }; - // const chessboard = new Chessboard(boardWithPieces); - // const engine = new ChessEngine(chessboard); - // - // const squareFrom: Square = { column: 'A', row: 2 }; - // const squareTo: Square = { column: 'A', row: 3 }; - // - // const expectedResult = [ - // { - // eventType: 'PieceWasMoved', - // piece: whiteKing, - // from: squareFrom, - // to: squareTo, - // }, - // ]; - // expect(engine.move(playerWhite, squareFrom, squareTo)).toIncludeSameMembers(expectedResult); - // }); - // - // it(`Should throw an error if the king is on checked square and the king's move causes his check.`, () => { - // const boardWithPieces: SquareWithPiece = { - // A2: whiteKing, - // A5: new Rook(Side.BLACK), - // B5: new Rook(Side.BLACK), - // }; - // const chessboard = new Chessboard(boardWithPieces); - // const engine = new ChessEngine(chessboard); - // - // const squareFrom: Square = { column: 'A', row: 2 }; - // const squareTo: Square = { column: 'B', row: 3 }; - // - // expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); - // }); - // - // it(`Should throw an error if the king is on checked square and the piece's move causes check of his king.`, () => { - // const boardWithPieces: SquareWithPiece = { - // A2: whiteKing, - // A3: new Queen(Side.WHITE), - // A5: new Rook(Side.BLACK), - // G2: new Rook(Side.BLACK), - // }; - // const chessboard = new Chessboard(boardWithPieces); - // const engine = new ChessEngine(chessboard); - // - // const squareFrom: Square = { column: 'A', row: 3 }; - // const squareTo: Square = { column: 'B', row: 2 }; - // - // expect(() => engine.move(playerWhite, squareFrom, squareTo)).toThrowError(errorMessage); - // }); - // }); - describe('Return player moves without those that cause his king to check', () => { const whiteKing = new King(Side.WHITE); const whiteRook = new Rook(Side.WHITE); From dfa3438d1d2c9f77e8802985ba42a3e92bf1f91b Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 23:31:20 +0100 Subject: [PATCH 101/134] Changing after CodeReview | Update after automatic DeepScan Review --- src/app/model/ChessEngine.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index c7e1e6b..cbd7a4e 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -124,7 +124,7 @@ export class ChessEngine implements ChessModel { return !willBeKingChecked; }; - const filteredPossibleMoves = initialPossibleMoves.filter(filteringFunction.bind(this)); + const filteredPossibleMoves = initialPossibleMoves.filter(filteringFunction); return filteredPossibleMoves; } From e4401fa0023655cb392c937e5b2826af9ff446ef Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Fri, 12 Feb 2021 23:36:48 +0100 Subject: [PATCH 102/134] Changing after CodeReview | Update possibleMoves method --- src/app/model/ChessEngine.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index cbd7a4e..91b2b86 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -129,7 +129,7 @@ export class ChessEngine implements ChessModel { } possibleMoves(position: Square): Square[] { - return this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; + return this.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position); } } From ded3170d44f73667857bceacc794be5934dfcf40 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 00:22:58 +0100 Subject: [PATCH 103/134] Changing after CodeReview | Extract a few methods from one bigger --- src/app/model/ChessEngine.ts | 63 ++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 91b2b86..5fdada6 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,6 +1,6 @@ import { ChessModel } from './ChessModel'; import { Row, Side, Square, SquareWithPiece } from './Types'; -import { Piece } from './pieces'; +import { King, Piece } from './pieces'; import { Player } from './Player'; import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; @@ -70,12 +70,9 @@ export class ChessEngine implements ChessModel { return side === Side.WHITE ? Side.BLACK : Side.WHITE; } - willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { - let isCheckedSquareFlag = false; - - const chessboard: Chessboard = this.board; - const proposedChessboard = _.cloneDeep(chessboard); - const { squaresWithPiece: proposedSquaresWithPieces } = proposedChessboard; + private returnWirtualProposedBoardAfterMove(chessboard: Chessboard, squareFrom: Square, squareTo: Square): Chessboard { + const wirtualPorposedChessboard = _.cloneDeep(chessboard); + const { squaresWithPiece: proposedSquaresWithPieces } = wirtualPorposedChessboard; const movedPiece = chessboard.onPositionPiece(squareFrom); const positionFrom = `${squareFrom.column}${squareFrom.row}`; @@ -83,29 +80,45 @@ export class ChessEngine implements ChessModel { delete proposedSquaresWithPieces[positionFrom]; proposedSquaresWithPieces[positionTo] = movedPiece as Piece; - const allyKingPositionKey = Object.keys(proposedSquaresWithPieces).find((key) => { - const isKingName = proposedSquaresWithPieces[key].name === 'King'; - const isPlayerSide = proposedSquaresWithPieces[key].side === this.currentSide; + return wirtualPorposedChessboard; + } + + public static kingPosition(kingSide: Side, chessboard: Chessboard): Square | undefined { + const { squaresWithPiece: squaresWithPieces } = chessboard; + + const allyKingPositionKey = Object.keys(squaresWithPieces).find((key) => { + const isKingName = squaresWithPieces[key].name === 'King'; + const isPlayerSide = squaresWithPieces[key].side === kingSide; return isKingName && isPlayerSide; }); - if (!allyKingPositionKey) return (isCheckedSquareFlag = false); + if (!allyKingPositionKey) return undefined; const kingPosition = { column: allyKingPositionKey[0], row: Number(allyKingPositionKey[1]) as Row, }; - Object.keys(proposedSquaresWithPieces).forEach((key) => { - const mappedPiece = proposedSquaresWithPieces[key]; - const isEnemySide = mappedPiece.side !== this.currentSide; + return kingPosition; + } + + public static isKingChecked(chessboard: Chessboard, kingSide: Side): boolean { + let isCheckedSquareFlag = false; + + const { squaresWithPiece: squaresWithPieces } = chessboard; + + const kingPosition = this.kingPosition(kingSide, chessboard); + + Object.keys(squaresWithPieces).forEach((key) => { + const mappedPiece = squaresWithPieces[key]; + const isEnemySide = mappedPiece.side !== kingSide; if (isEnemySide) { const mappedPiecePosition = { column: key[0], row: Number(key[1]) as Row, }; - const possibleMappedPieceMoves = mappedPiece.possibleMoves(mappedPiecePosition, proposedChessboard); + const possibleMappedPieceMoves = mappedPiece.possibleMoves(mappedPiecePosition, chessboard); const isKingPositionOnPossibleEnemyPieceMoves = possibleMappedPieceMoves.some( (checkedPosition) => JSON.stringify(checkedPosition) == JSON.stringify(kingPosition), ); @@ -116,24 +129,20 @@ export class ChessEngine implements ChessModel { return isCheckedSquareFlag; } + willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { + const chessboard: Chessboard = this.board; + const wirtualPorposedChessboard = this.returnWirtualProposedBoardAfterMove(chessboard, squareFrom, squareTo); + return ChessEngine.isKingChecked(wirtualPorposedChessboard, this.currentSide); + } + returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position: Square): Square[] { const initialPossibleMoves = this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; + const filteringFunction = (onePossibleMove: Square) => !this.willBeKingChecked(position, onePossibleMove); - const filteringFunction = (onePossibleMove: Square) => { - const willBeKingChecked = this.willBeKingChecked(position, onePossibleMove); - return !willBeKingChecked; - }; - - const filteredPossibleMoves = initialPossibleMoves.filter(filteringFunction); - return filteredPossibleMoves; + return initialPossibleMoves.filter(filteringFunction); } possibleMoves(position: Square): Square[] { return this.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position); } } - -// player: Player, -// chessboard:Chessboard, -// squareFrom:Square, -// squareTo:Square From eac511628b52d37bca837863d4d4bdabeea91926 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 00:47:05 +0100 Subject: [PATCH 104/134] Changing after CodeReview | Extract isSquareChecked method --- src/app/model/ChessEngine.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 5fdada6..29cf378 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -83,7 +83,7 @@ export class ChessEngine implements ChessModel { return wirtualPorposedChessboard; } - public static kingPosition(kingSide: Side, chessboard: Chessboard): Square | undefined { + public static kingPosition(chessboard: Chessboard, kingSide: Side): Square | undefined { const { squaresWithPiece: squaresWithPieces } = chessboard; const allyKingPositionKey = Object.keys(squaresWithPieces).find((key) => { @@ -98,20 +98,17 @@ export class ChessEngine implements ChessModel { column: allyKingPositionKey[0], row: Number(allyKingPositionKey[1]) as Row, }; - return kingPosition; } - public static isKingChecked(chessboard: Chessboard, kingSide: Side): boolean { + public static isSquareChecked(chessboard: Chessboard, playerSide: Side, positionToControl: Square): boolean { let isCheckedSquareFlag = false; const { squaresWithPiece: squaresWithPieces } = chessboard; - const kingPosition = this.kingPosition(kingSide, chessboard); - Object.keys(squaresWithPieces).forEach((key) => { const mappedPiece = squaresWithPieces[key]; - const isEnemySide = mappedPiece.side !== kingSide; + const isEnemySide = mappedPiece.side !== playerSide; if (isEnemySide) { const mappedPiecePosition = { @@ -120,7 +117,7 @@ export class ChessEngine implements ChessModel { }; const possibleMappedPieceMoves = mappedPiece.possibleMoves(mappedPiecePosition, chessboard); const isKingPositionOnPossibleEnemyPieceMoves = possibleMappedPieceMoves.some( - (checkedPosition) => JSON.stringify(checkedPosition) == JSON.stringify(kingPosition), + (checkedPosition) => JSON.stringify(checkedPosition) == JSON.stringify(positionToControl), ); if (isKingPositionOnPossibleEnemyPieceMoves) isCheckedSquareFlag = isKingPositionOnPossibleEnemyPieceMoves; @@ -129,6 +126,12 @@ export class ChessEngine implements ChessModel { return isCheckedSquareFlag; } + public static isKingChecked(chessboard: Chessboard, kingSide: Side): boolean { + const kingPosition = this.kingPosition(chessboard, kingSide); + const isKingChecked = kingPosition ? this.isSquareChecked(chessboard, kingSide, kingPosition) : false; + return isKingChecked; + } + willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { const chessboard: Chessboard = this.board; const wirtualPorposedChessboard = this.returnWirtualProposedBoardAfterMove(chessboard, squareFrom, squareTo); @@ -138,7 +141,6 @@ export class ChessEngine implements ChessModel { returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position: Square): Square[] { const initialPossibleMoves = this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; const filteringFunction = (onePossibleMove: Square) => !this.willBeKingChecked(position, onePossibleMove); - return initialPossibleMoves.filter(filteringFunction); } From 1a695c837738ff5958c243fd9ba91161b2cc1451 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 01:06:06 +0100 Subject: [PATCH 105/134] Changing after CodeReview | Make prettier code --- src/app/model/ChessEngine.ts | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 29cf378..f8e5502 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -85,25 +85,23 @@ export class ChessEngine implements ChessModel { public static kingPosition(chessboard: Chessboard, kingSide: Side): Square | undefined { const { squaresWithPiece: squaresWithPieces } = chessboard; - - const allyKingPositionKey = Object.keys(squaresWithPieces).find((key) => { + const kingPositionKey = Object.keys(squaresWithPieces).find((key) => { const isKingName = squaresWithPieces[key].name === 'King'; const isPlayerSide = squaresWithPieces[key].side === kingSide; return isKingName && isPlayerSide; }); + const kingPosition = kingPositionKey + ? { + column: kingPositionKey[0], + row: Number(kingPositionKey[1]) as Row, + } + : undefined; - if (!allyKingPositionKey) return undefined; - - const kingPosition = { - column: allyKingPositionKey[0], - row: Number(allyKingPositionKey[1]) as Row, - }; return kingPosition; } public static isSquareChecked(chessboard: Chessboard, playerSide: Side, positionToControl: Square): boolean { let isCheckedSquareFlag = false; - const { squaresWithPiece: squaresWithPieces } = chessboard; Object.keys(squaresWithPieces).forEach((key) => { @@ -119,8 +117,7 @@ export class ChessEngine implements ChessModel { const isKingPositionOnPossibleEnemyPieceMoves = possibleMappedPieceMoves.some( (checkedPosition) => JSON.stringify(checkedPosition) == JSON.stringify(positionToControl), ); - - if (isKingPositionOnPossibleEnemyPieceMoves) isCheckedSquareFlag = isKingPositionOnPossibleEnemyPieceMoves; + if (isKingPositionOnPossibleEnemyPieceMoves) isCheckedSquareFlag = true; } }); return isCheckedSquareFlag; From 01ecab1090a0e6a1ccf9e6bc1375be3d2ad1f425 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 01:56:41 +0100 Subject: [PATCH 106/134] Update after CodeReview | Fix name of function. Make better chessboard clone --- src/app/model/ChessEngine.ts | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index f8e5502..b9a7571 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -6,7 +6,6 @@ import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; import { isDefined } from './HelperFunctions'; -import _ from 'lodash/fp'; export class ChessEngine implements ChessModel { private currentSide: Side = Side.WHITE; @@ -70,9 +69,9 @@ export class ChessEngine implements ChessModel { return side === Side.WHITE ? Side.BLACK : Side.WHITE; } - private returnWirtualProposedBoardAfterMove(chessboard: Chessboard, squareFrom: Square, squareTo: Square): Chessboard { - const wirtualPorposedChessboard = _.cloneDeep(chessboard); - const { squaresWithPiece: proposedSquaresWithPieces } = wirtualPorposedChessboard; + private simulatedChessboardAfterMove(chessboard: Chessboard, squareFrom: Square, squareTo: Square): Chessboard { + const simulatedChessboard = new Chessboard({ ...chessboard.squaresWithPiece }); + const { squaresWithPiece: proposedSquaresWithPieces } = simulatedChessboard; const movedPiece = chessboard.onPositionPiece(squareFrom); const positionFrom = `${squareFrom.column}${squareFrom.row}`; @@ -80,7 +79,7 @@ export class ChessEngine implements ChessModel { delete proposedSquaresWithPieces[positionFrom]; proposedSquaresWithPieces[positionTo] = movedPiece as Piece; - return wirtualPorposedChessboard; + return simulatedChessboard; } public static kingPosition(chessboard: Chessboard, kingSide: Side): Square | undefined { @@ -90,13 +89,7 @@ export class ChessEngine implements ChessModel { const isPlayerSide = squaresWithPieces[key].side === kingSide; return isKingName && isPlayerSide; }); - const kingPosition = kingPositionKey - ? { - column: kingPositionKey[0], - row: Number(kingPositionKey[1]) as Row, - } - : undefined; - + const kingPosition = kingPositionKey ? { column: kingPositionKey[0], row: Number(kingPositionKey[1]) as Row } : undefined; return kingPosition; } @@ -131,7 +124,7 @@ export class ChessEngine implements ChessModel { willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { const chessboard: Chessboard = this.board; - const wirtualPorposedChessboard = this.returnWirtualProposedBoardAfterMove(chessboard, squareFrom, squareTo); + const wirtualPorposedChessboard = this.simulatedChessboardAfterMove(chessboard, squareFrom, squareTo); return ChessEngine.isKingChecked(wirtualPorposedChessboard, this.currentSide); } From a13863a76cc384a6651476494fb83d37d90f1c84 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 02:04:27 +0100 Subject: [PATCH 107/134] Update after CodeReview | Update simulatedChessboardAfterMove method --- src/app/model/ChessEngine.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index b9a7571..9c46bc9 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -72,13 +72,7 @@ export class ChessEngine implements ChessModel { private simulatedChessboardAfterMove(chessboard: Chessboard, squareFrom: Square, squareTo: Square): Chessboard { const simulatedChessboard = new Chessboard({ ...chessboard.squaresWithPiece }); const { squaresWithPiece: proposedSquaresWithPieces } = simulatedChessboard; - - const movedPiece = chessboard.onPositionPiece(squareFrom); - const positionFrom = `${squareFrom.column}${squareFrom.row}`; - const positionTo = `${squareTo.column}${squareTo.row}`; - delete proposedSquaresWithPieces[positionFrom]; - proposedSquaresWithPieces[positionTo] = movedPiece as Piece; - + simulatedChessboard.movePiece(squareFrom, squareTo); return simulatedChessboard; } From ec00bebdcad87f88152e02ab2645dfa626c4e784 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 02:27:37 +0100 Subject: [PATCH 108/134] Update after CodeReview | Update --- src/app/model/ChessEngine.ts | 44 ++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 9c46bc9..7de3abb 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,6 +1,6 @@ import { ChessModel } from './ChessModel'; import { Row, Side, Square, SquareWithPiece } from './Types'; -import { King, Piece } from './pieces'; +import { Piece } from './pieces'; import { Player } from './Player'; import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; @@ -71,7 +71,6 @@ export class ChessEngine implements ChessModel { private simulatedChessboardAfterMove(chessboard: Chessboard, squareFrom: Square, squareTo: Square): Chessboard { const simulatedChessboard = new Chessboard({ ...chessboard.squaresWithPiece }); - const { squaresWithPiece: proposedSquaresWithPieces } = simulatedChessboard; simulatedChessboard.movePiece(squareFrom, squareTo); return simulatedChessboard; } @@ -83,37 +82,32 @@ export class ChessEngine implements ChessModel { const isPlayerSide = squaresWithPieces[key].side === kingSide; return isKingName && isPlayerSide; }); - const kingPosition = kingPositionKey ? { column: kingPositionKey[0], row: Number(kingPositionKey[1]) as Row } : undefined; + const kingPosition = kingPositionKey + ? { + column: kingPositionKey[0], + row: Number(kingPositionKey[1]) as Row, + } + : undefined; return kingPosition; } public static isSquareChecked(chessboard: Chessboard, playerSide: Side, positionToControl: Square): boolean { - let isCheckedSquareFlag = false; - const { squaresWithPiece: squaresWithPieces } = chessboard; - - Object.keys(squaresWithPieces).forEach((key) => { - const mappedPiece = squaresWithPieces[key]; - const isEnemySide = mappedPiece.side !== playerSide; - - if (isEnemySide) { - const mappedPiecePosition = { - column: key[0], - row: Number(key[1]) as Row, - }; - const possibleMappedPieceMoves = mappedPiece.possibleMoves(mappedPiecePosition, chessboard); - const isKingPositionOnPossibleEnemyPieceMoves = possibleMappedPieceMoves.some( - (checkedPosition) => JSON.stringify(checkedPosition) == JSON.stringify(positionToControl), - ); - if (isKingPositionOnPossibleEnemyPieceMoves) isCheckedSquareFlag = true; - } - }); - return isCheckedSquareFlag; + const squaresWithPieces = chessboard.squaresWithPiece; + return Object.keys(squaresWithPieces) + .map((squareKey) => ({ + position: { column: squareKey[0], row: Number(squareKey[1]) as Row }, + piece: squaresWithPieces[squareKey], + })) + .filter(({ piece }) => piece.side !== playerSide) //Skoro rozpatrujemy tylko przeciwnikow, tak sie mozemy pozbyc ifa. Moznaby to sprawdzanie dac do klasy Piece. + .map(({ position, piece }) => piece.possibleMoves(position, chessboard)) + .some((piecePossibleMoves) => + piecePossibleMoves.some((moveSquare) => moveSquare.column === positionToControl.column && moveSquare.row === positionToControl.row), + ); } public static isKingChecked(chessboard: Chessboard, kingSide: Side): boolean { const kingPosition = this.kingPosition(chessboard, kingSide); - const isKingChecked = kingPosition ? this.isSquareChecked(chessboard, kingSide, kingPosition) : false; - return isKingChecked; + return kingPosition ? this.isSquareChecked(chessboard, kingSide, kingPosition) : false; } willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { From 9e317b6cec5eea30fe9e2c4938935462879b0819 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 03:50:20 +0100 Subject: [PATCH 109/134] Update after CodeReview | Update after CR --- src/app/model/ChessEngine.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 7de3abb..0d95a80 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -75,7 +75,7 @@ export class ChessEngine implements ChessModel { return simulatedChessboard; } - public static kingPosition(chessboard: Chessboard, kingSide: Side): Square | undefined { + public kingPosition(chessboard: Chessboard, kingSide: Side): Square | undefined { const { squaresWithPiece: squaresWithPieces } = chessboard; const kingPositionKey = Object.keys(squaresWithPieces).find((key) => { const isKingName = squaresWithPieces[key].name === 'King'; @@ -91,7 +91,7 @@ export class ChessEngine implements ChessModel { return kingPosition; } - public static isSquareChecked(chessboard: Chessboard, playerSide: Side, positionToControl: Square): boolean { + public isSquareChecked(chessboard: Chessboard, playerSide: Side, positionToControl: Square): boolean { const squaresWithPieces = chessboard.squaresWithPiece; return Object.keys(squaresWithPieces) .map((squareKey) => ({ @@ -105,7 +105,7 @@ export class ChessEngine implements ChessModel { ); } - public static isKingChecked(chessboard: Chessboard, kingSide: Side): boolean { + public isKingChecked(chessboard: Chessboard, kingSide: Side): boolean { const kingPosition = this.kingPosition(chessboard, kingSide); return kingPosition ? this.isSquareChecked(chessboard, kingSide, kingPosition) : false; } @@ -113,7 +113,7 @@ export class ChessEngine implements ChessModel { willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { const chessboard: Chessboard = this.board; const wirtualPorposedChessboard = this.simulatedChessboardAfterMove(chessboard, squareFrom, squareTo); - return ChessEngine.isKingChecked(wirtualPorposedChessboard, this.currentSide); + return this.isKingChecked(wirtualPorposedChessboard, this.currentSide); } returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position: Square): Square[] { From f0499c17766b7bf59ad73ec5264f2c2f2f8bcdd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Sat, 13 Feb 2021 14:28:33 +0100 Subject: [PATCH 110/134] Update package.json --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 1b3b8e3..b27451d 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,7 @@ "scripts": { "clean": "rimraf .cache && rimraf coverage && rimraf dist && rimraf node_modules", "prebuild": "rimraf dist", - "build": "rm -rf dist && tsc --noEmit && parcel build index.html --public-url ./", - "buildOnWindows": "rimraf dist && tsc --noEmit && parcel build index.html --public-url ./", + "build": "rimraf dist && tsc --noEmit && parcel build index.html --public-url ./", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "format:ci": "prettier -c \"src/**/*.ts\" \"test/**/*.ts\"", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix --format codeframe", From 97eafb7b7d1378fd047f974754edf7bb4d62043f Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 16:27:46 +0100 Subject: [PATCH 111/134] Update after CodeReview | Delete comments --- src/app/model/ChessEngine.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 0d95a80..b060618 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -98,7 +98,7 @@ export class ChessEngine implements ChessModel { position: { column: squareKey[0], row: Number(squareKey[1]) as Row }, piece: squaresWithPieces[squareKey], })) - .filter(({ piece }) => piece.side !== playerSide) //Skoro rozpatrujemy tylko przeciwnikow, tak sie mozemy pozbyc ifa. Moznaby to sprawdzanie dac do klasy Piece. + .filter(({ piece }) => piece.side !== playerSide) .map(({ position, piece }) => piece.possibleMoves(position, chessboard)) .some((piecePossibleMoves) => piecePossibleMoves.some((moveSquare) => moveSquare.column === positionToControl.column && moveSquare.row === positionToControl.row), From ea04cf043e3a923d877094fd6ff84814f2700954 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 16:30:01 +0100 Subject: [PATCH 112/134] Update after CodeReview | Update function name for pieceMovesNotCausingAllyKingCheckmate --- src/app/model/ChessEngine.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index b060618..207c3ef 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -116,13 +116,13 @@ export class ChessEngine implements ChessModel { return this.isKingChecked(wirtualPorposedChessboard, this.currentSide); } - returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position: Square): Square[] { + pieceMovesNotCausingAllyKingCheckmate(position: Square): Square[] { const initialPossibleMoves = this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; const filteringFunction = (onePossibleMove: Square) => !this.willBeKingChecked(position, onePossibleMove); return initialPossibleMoves.filter(filteringFunction); } possibleMoves(position: Square): Square[] { - return this.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(position); + return this.pieceMovesNotCausingAllyKingCheckmate(position); } } From 11ef17e7d2f2574547e17e8566b50494aafaa8ae Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 16:38:22 +0100 Subject: [PATCH 113/134] Update after CodeReview | Fix last commit - Update function name for pieceMovesNotCausingAllyKingCheckmate --- test/app/model/ChessEngine.spec.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 75f9703..7601e7d 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -167,7 +167,7 @@ describe('Chess Engine', () => { { column: 'B', row: 3 }, ]; - const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); const expectedResult = possibleMovesBeforeFiltration; expect(returnedResult).toIncludeSameMembers(expectedResult); @@ -183,7 +183,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); const expectedResult = [ { column: 'A', row: 1 }, @@ -202,7 +202,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); const expectedResult = [ { column: 'A', row: 1 }, @@ -221,7 +221,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); const expectedResult = [ { column: 'A', row: 1 }, @@ -241,7 +241,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); const expectedResult = [{ column: 'A', row: 1 }]; expect(returnedResult).toIncludeSameMembers(expectedResult); @@ -257,7 +257,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); const expectedResult = [ { column: 'B', row: 1 }, @@ -278,7 +278,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 3 }; - const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); const expectedResult = [ { column: 'A', row: 4 }, @@ -300,7 +300,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 1 }; - const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); const expectedResult = [] as Square[]; expect(returnedResult).toIncludeSameMembers(expectedResult); @@ -317,7 +317,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.returnPlayerMovesWithoutThoseThatCauseHisKingToCheck(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); const expectedResult = [] as Square[]; expect(returnedResult).toIncludeSameMembers(expectedResult); From 6576b194b099a28c35fb639cdd67a2b894cb90fb Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 16:48:03 +0100 Subject: [PATCH 114/134] Update after CodeReview | Add access modifiers --- src/app/model/ChessEngine.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 207c3ef..e484ce4 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -75,7 +75,7 @@ export class ChessEngine implements ChessModel { return simulatedChessboard; } - public kingPosition(chessboard: Chessboard, kingSide: Side): Square | undefined { + private kingPosition(chessboard: Chessboard, kingSide: Side): Square | undefined { const { squaresWithPiece: squaresWithPieces } = chessboard; const kingPositionKey = Object.keys(squaresWithPieces).find((key) => { const isKingName = squaresWithPieces[key].name === 'King'; @@ -91,7 +91,7 @@ export class ChessEngine implements ChessModel { return kingPosition; } - public isSquareChecked(chessboard: Chessboard, playerSide: Side, positionToControl: Square): boolean { + private isSquareChecked(chessboard: Chessboard, playerSide: Side, positionToControl: Square): boolean { const squaresWithPieces = chessboard.squaresWithPiece; return Object.keys(squaresWithPieces) .map((squareKey) => ({ @@ -105,24 +105,24 @@ export class ChessEngine implements ChessModel { ); } - public isKingChecked(chessboard: Chessboard, kingSide: Side): boolean { + private isKingChecked(chessboard: Chessboard, kingSide: Side): boolean { const kingPosition = this.kingPosition(chessboard, kingSide); return kingPosition ? this.isSquareChecked(chessboard, kingSide, kingPosition) : false; } - willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { + private willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { const chessboard: Chessboard = this.board; const wirtualPorposedChessboard = this.simulatedChessboardAfterMove(chessboard, squareFrom, squareTo); return this.isKingChecked(wirtualPorposedChessboard, this.currentSide); } - pieceMovesNotCausingAllyKingCheckmate(position: Square): Square[] { + private pieceMovesNotCausingAllyKingCheckmate(position: Square): Square[] { const initialPossibleMoves = this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; const filteringFunction = (onePossibleMove: Square) => !this.willBeKingChecked(position, onePossibleMove); return initialPossibleMoves.filter(filteringFunction); } - possibleMoves(position: Square): Square[] { + public possibleMoves(position: Square): Square[] { return this.pieceMovesNotCausingAllyKingCheckmate(position); } } From b594f4eb729b9bd7c2323fe42bf11af2ecb07db5 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 16:55:37 +0100 Subject: [PATCH 115/134] Update after automatic Code Analysis suggestion --- src/app/model/ChessEngine.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index e484ce4..1058dc3 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -69,8 +69,8 @@ export class ChessEngine implements ChessModel { return side === Side.WHITE ? Side.BLACK : Side.WHITE; } - private simulatedChessboardAfterMove(chessboard: Chessboard, squareFrom: Square, squareTo: Square): Chessboard { - const simulatedChessboard = new Chessboard({ ...chessboard.squaresWithPiece }); + private simulatedChessboardAfterMove(squareFrom: Square, squareTo: Square): Chessboard { + const simulatedChessboard = new Chessboard({ ...this.board.squaresWithPiece }); simulatedChessboard.movePiece(squareFrom, squareTo); return simulatedChessboard; } @@ -82,13 +82,12 @@ export class ChessEngine implements ChessModel { const isPlayerSide = squaresWithPieces[key].side === kingSide; return isKingName && isPlayerSide; }); - const kingPosition = kingPositionKey + return kingPositionKey ? { column: kingPositionKey[0], row: Number(kingPositionKey[1]) as Row, } : undefined; - return kingPosition; } private isSquareChecked(chessboard: Chessboard, playerSide: Side, positionToControl: Square): boolean { @@ -111,9 +110,8 @@ export class ChessEngine implements ChessModel { } private willBeKingChecked(squareFrom: Square, squareTo: Square): boolean { - const chessboard: Chessboard = this.board; - const wirtualPorposedChessboard = this.simulatedChessboardAfterMove(chessboard, squareFrom, squareTo); - return this.isKingChecked(wirtualPorposedChessboard, this.currentSide); + const simulatedChessboard = this.simulatedChessboardAfterMove(squareFrom, squareTo); + return this.isKingChecked(simulatedChessboard, this.currentSide); } private pieceMovesNotCausingAllyKingCheckmate(position: Square): Square[] { From c81c382cd9d8986053b09259a60aac305f80fd03 Mon Sep 17 00:00:00 2001 From: PiotrWR Date: Sat, 13 Feb 2021 16:59:46 +0100 Subject: [PATCH 116/134] Fix | Add access modifiers --- src/app/model/ChessEngine.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 1058dc3..647151f 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -114,7 +114,7 @@ export class ChessEngine implements ChessModel { return this.isKingChecked(simulatedChessboard, this.currentSide); } - private pieceMovesNotCausingAllyKingCheckmate(position: Square): Square[] { + public pieceMovesNotCausingAllyKingCheckmate(position: Square): Square[] { const initialPossibleMoves = this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; const filteringFunction = (onePossibleMove: Square) => !this.willBeKingChecked(position, onePossibleMove); return initialPossibleMoves.filter(filteringFunction); From 965bb0798fd2a597053190888cb4fc43332d2f2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Sat, 13 Feb 2021 19:11:18 +0100 Subject: [PATCH 117/134] Model/remove player (#78) --- src/app/model/ChessEngine.ts | 8 +- src/app/model/ChessModel.ts | 3 +- src/app/model/Player.ts | 5 - src/app/model/index.ts | 1 - test/app/model/ChessEngine.spec.ts | 241 ++--------------------------- 5 files changed, 16 insertions(+), 242 deletions(-) delete mode 100644 src/app/model/Player.ts diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 647151f..946cd9a 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,7 +1,6 @@ import { ChessModel } from './ChessModel'; import { Row, Side, Square, SquareWithPiece } from './Types'; import { Piece } from './pieces'; -import { Player } from './Player'; import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; @@ -15,17 +14,14 @@ export class ChessEngine implements ChessModel { this.squaresWithPiece = board.squaresWithPiece; } - move(byPlayer: Player, squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[] { + move(squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[] { const chosenPiece = this.board.onPositionPiece(squareFrom); if (!chosenPiece) { throw new Error('There is no piece on this square.'); } - if (byPlayer.side !== this.currentSide) { + if (chosenPiece.side !== this.currentSide) { throw new Error(`It's not Your turn.`); } - if (byPlayer.side !== chosenPiece.side) { - throw new Error('Player can not move other players pieces.'); - } if (!this.canMoveOnSquare(squareFrom, squareTo)) { throw new Error('Piece can not move to given square.'); } diff --git a/src/app/model/ChessModel.ts b/src/app/model/ChessModel.ts index 0e6042d..3378324 100644 --- a/src/app/model/ChessModel.ts +++ b/src/app/model/ChessModel.ts @@ -1,4 +1,3 @@ -import { Player } from './Player'; import { Square, SquareWithPiece } from './Types'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; @@ -6,5 +5,5 @@ import { PieceWasCaptured } from './PieceWasCaptured'; export interface ChessModel { readonly squaresWithPiece: SquareWithPiece; possibleMoves(position: Square): Square[]; - move(byPlayer: Player, squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[]; + move(squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[]; } diff --git a/src/app/model/Player.ts b/src/app/model/Player.ts deleted file mode 100644 index e55b6dd..0000000 --- a/src/app/model/Player.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Side } from './Types'; - -export class Player { - constructor(readonly side: Side) {} -} diff --git a/src/app/model/index.ts b/src/app/model/index.ts index 4c13b66..147f920 100644 --- a/src/app/model/index.ts +++ b/src/app/model/index.ts @@ -8,6 +8,5 @@ export * from './PiecePossibleMoves'; export * from './PiecesPositions'; export * from './PieceWasCaptured'; export * from './PieceWasMoved'; -export * from './Player'; export * from './pieces'; export * from './Types'; diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 7601e7d..b5e9272 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -1,12 +1,5 @@ -import { ChessEngine } from '../../../src/app/model/ChessEngine'; -import { Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; -import { Chessboard } from '../../../src/app/model/Chessboard'; -import { Pawn } from '../../../src/app/model/pieces/Pawn'; -import { Player } from '../../../src/app/model/Player'; +import { Side, Square, SquareWithPiece, ChessEngine, Chessboard, Pawn, Queen, Knight } from '../../../src/app/model'; import 'jest-extended'; -import { Queen } from '../../../src/app/model/pieces/Queen'; -import { Knight } from '../../../src/app/model/pieces/Knight'; -import { King, Rook } from '../../../src/app/model'; describe('Chess Engine', () => { it('Given white piece on A2 and black piece on A4, when move white piece from A2 to A3, then white piece was moved from A2 to A3', () => { @@ -15,11 +8,10 @@ describe('Chess Engine', () => { const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); - const player = new Player(Side.WHITE); const squareFrom: Square = { column: 'A', row: 2 }; const squareTo: Square = { column: 'A', row: 3 }; - expect(engine.move(player, squareFrom, squareTo)).toIncludeSameMembers([ + expect(engine.move(squareFrom, squareTo)).toIncludeSameMembers([ { eventType: 'PieceWasMoved', piece: whitePiece, @@ -35,11 +27,10 @@ describe('Chess Engine', () => { const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); - const player = new Player(Side.WHITE); const squareFrom: Square = { column: 'A', row: 2 }; const squareTo: Square = { column: 'A', row: 4 }; - expect(engine.move(player, squareFrom, squareTo)).toIncludeSameMembers([ + expect(engine.move(squareFrom, squareTo)).toIncludeSameMembers([ { eventType: 'PieceWasCaptured', piece: blackPiece, onSquare: squareTo }, { eventType: 'PieceWasMoved', piece: whitePiece, from: squareFrom, to: squareTo }, ]); @@ -52,12 +43,10 @@ describe('Chess Engine', () => { const boardWithPieces: SquareWithPiece = { C2: whitePawn, B1: whiteKnight, B4: blackPawn }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); - const playerWhite = new Player(Side.WHITE); - const playerBlack = new Player(Side.BLACK); - engine.move(playerWhite, { column: 'C', row: 2 }, { column: 'C', row: 3 }); - engine.move(playerBlack, { column: 'B', row: 4 }, { column: 'C', row: 3 }); - expect(engine.move(playerWhite, { column: 'B', row: 1 }, { column: 'C', row: 3 })).toIncludeSameMembers([ + engine.move({ column: 'C', row: 2 }, { column: 'C', row: 3 }); + engine.move({ column: 'B', row: 4 }, { column: 'C', row: 3 }); + expect(engine.move({ column: 'B', row: 1 }, { column: 'C', row: 3 })).toIncludeSameMembers([ { eventType: 'PieceWasCaptured', piece: blackPawn, onSquare: { column: 'C', row: 3 } }, { eventType: 'PieceWasMoved', piece: whiteKnight, from: { column: 'B', row: 1 }, to: { column: 'C', row: 3 } }, ]); @@ -69,11 +58,10 @@ describe('Chess Engine', () => { const boardWithPieces: SquareWithPiece = { A2: blackPiece, A4: whitePiece }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); - const player = new Player(Side.WHITE); const squareFrom: Square = { column: 'A', row: 2 }; const squareTo: Square = { column: 'A', row: 4 }; - expect(() => engine.move(player, squareFrom, squareTo)).toThrowError('Player can not move other players pieces.'); + expect(() => engine.move(squareFrom, squareTo)).toThrowError("It's not Your turn."); }); it('Should throw an Error if player wants to move piece to not available square', () => { @@ -81,11 +69,10 @@ describe('Chess Engine', () => { const boardWithPieces: SquareWithPiece = { A2: whitePiece }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); - const player = new Player(Side.WHITE); const squareFrom: Square = { column: 'A', row: 2 }; const squareTo: Square = { column: 'A', row: 5 }; - expect(() => engine.move(player, squareFrom, squareTo)).toThrowError('Piece can not move to given square.'); + expect(() => engine.move(squareFrom, squareTo)).toThrowError('Piece can not move to given square.'); }); it('Should throw an Error if player wants to move twice', () => { @@ -93,14 +80,13 @@ describe('Chess Engine', () => { const boardWithPieces: SquareWithPiece = { A2: whitePiece }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); - const player = new Player(Side.WHITE); const squareStart: Square = { column: 'A', row: 2 }; const squareMiddle: Square = { column: 'A', row: 3 }; const squareFinish: Square = { column: 'A', row: 4 }; - engine.move(player, squareStart, squareMiddle); + engine.move(squareStart, squareMiddle); - expect(() => engine.move(player, squareMiddle, squareFinish)).toThrowError(`It's not Your turn.`); + expect(() => engine.move(squareMiddle, squareFinish)).toThrowError(`It's not Your turn.`); }); it('Should throw an Error if player wants to move piece that was just captured', () => { @@ -109,218 +95,17 @@ describe('Chess Engine', () => { const boardWithPieces: SquareWithPiece = { A2: whitePiece, A6: blackPiece }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); - const playerWhite = new Player(Side.WHITE); - const playerBlack = new Player(Side.BLACK); - engine.move(playerWhite, { column: 'A', row: 2 }, { column: 'A', row: 6 }); + engine.move({ column: 'A', row: 2 }, { column: 'A', row: 6 }); - expect(() => - engine.move( - playerBlack, - { column: 'A', row: 6 }, - { - column: 'A', - row: 5, - }, - ), - ).toThrowError('Player can not move other players pieces.'); + expect(() => engine.move({ column: 'A', row: 6 }, { column: 'A', row: 5 })).toThrowError("It's not Your turn."); }); it('Should throw an Error if chosen square is not occupied', () => { const boardWithPieces: SquareWithPiece = {}; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); - const playerWhite = new Player(Side.WHITE); - expect(() => - engine.move( - playerWhite, - { column: 'A', row: 2 }, - { - column: 'A', - row: 6, - }, - ), - ).toThrowError('There is no piece on this square.'); - }); - - describe('Return player moves without those that cause his king to check', () => { - const whiteKing = new King(Side.WHITE); - const whiteRook = new Rook(Side.WHITE); - const blackKing = new King(Side.BLACK); - const blackRook = new Rook(Side.BLACK); - // const playerWhite = new Player(Side.WHITE); - - it(`Should return the same possible moves array if the king's move doesn't cause his check.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - const possibleMovesBeforeFiltration = [ - { column: 'A', row: 1 }, - { column: 'A', row: 3 }, - { column: 'B', row: 1 }, - { column: 'B', row: 2 }, - { column: 'B', row: 3 }, - ]; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = possibleMovesBeforeFiltration; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible moves array if the king's move causes his check.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - B8: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'A', row: 1 }, - { column: 'A', row: 3 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - B3: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'A', row: 1 }, - { column: 'B', row: 3 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - B3: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'A', row: 1 }, - { column: 'B', row: 3 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible moves array if the king's move causes his check but king cannot capture his enemy whose check possible moves of king.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - B3: blackRook, - B8: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [{ column: 'A', row: 1 }]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible king's moves array if the king is checked.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A7: blackRook, - A8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'B', row: 1 }, - { column: 'B', row: 2 }, - { column: 'B', row: 3 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible rook's moves array if the rook's move causes his king check`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A3: whiteRook, - A7: blackRook, - A8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 3 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'A', row: 4 }, - { column: 'A', row: 5 }, - { column: 'A', row: 6 }, - { column: 'A', row: 7 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return empty possible rook's moves array if the king is checked and rook's move causes his king check`, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteRook, - A2: whiteKing, - A7: blackRook, - A8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 1 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [] as Square[]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return empty possible king's moves array if it's checkmate`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A7: blackRook, - A8: blackKing, - B7: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [] as Square[]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); + expect(() => engine.move({ column: 'A', row: 2 }, { column: 'A', row: 6 })).toThrowError('There is no piece on this square.'); }); }); From 7eede96c04a942dc3807e509b411a843da6cdfb3 Mon Sep 17 00:00:00 2001 From: Piotr Witold Rynio <41823689+PiotrWR@users.noreply.github.com> Date: Sat, 13 Feb 2021 23:02:20 +0100 Subject: [PATCH 118/134] Imports fix (#74) (#81) * Imports fix * Delete unused code line * Fix merge Co-authored-by: PiotrWR Co-authored-by: Piotr Witold Rynio <41823689+PiotrWR@users.noreply.github.com> Co-authored-by: Mateusz Nowak --- src/app/model/Chessboard.ts | 2 +- src/app/model/constances/BoardSize.ts | 1 + .../{Constances.ts => constances/PiecesStartPosition.ts} | 6 ++---- src/app/model/constances/index.ts | 2 ++ src/app/model/index.ts | 3 ++- src/app/model/pieces/Piece.ts | 2 +- test/app/presenter/ChessBoardPresenter.spec.ts | 3 ++- 7 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 src/app/model/constances/BoardSize.ts rename src/app/model/{Constances.ts => constances/PiecesStartPosition.ts} (86%) create mode 100644 src/app/model/constances/index.ts diff --git a/src/app/model/Chessboard.ts b/src/app/model/Chessboard.ts index c821544..ffc4f20 100644 --- a/src/app/model/Chessboard.ts +++ b/src/app/model/Chessboard.ts @@ -2,7 +2,7 @@ import { PiecePositions } from './PiecesPositions'; import { Piece } from './pieces'; import { Square, SquareWithPiece } from './Types'; import { PieceMoves } from './PieceMoves'; -import { PIECES_START_POSITION } from './Constances'; +import { PIECES_START_POSITION } from './constances'; export class Chessboard implements PieceMoves, PiecePositions { constructor(public squaresWithPiece: SquareWithPiece = PIECES_START_POSITION) {} diff --git a/src/app/model/constances/BoardSize.ts b/src/app/model/constances/BoardSize.ts new file mode 100644 index 0000000..7b01eb9 --- /dev/null +++ b/src/app/model/constances/BoardSize.ts @@ -0,0 +1 @@ +export const BOARD_SIZE = 8; diff --git a/src/app/model/Constances.ts b/src/app/model/constances/PiecesStartPosition.ts similarity index 86% rename from src/app/model/Constances.ts rename to src/app/model/constances/PiecesStartPosition.ts index dc78551..34e1fb2 100644 --- a/src/app/model/Constances.ts +++ b/src/app/model/constances/PiecesStartPosition.ts @@ -1,7 +1,5 @@ -import { Side, SquareWithPiece } from './Types'; -import { Bishop, Knight, Pawn, Queen, Rook, King } from './pieces'; - -export const BOARD_SIZE = 8; +import { Side, SquareWithPiece } from '../Types'; +import { Bishop, King, Knight, Pawn, Queen, Rook } from '../pieces'; export const PIECES_START_POSITION: SquareWithPiece = { A1: new Rook(Side.WHITE), diff --git a/src/app/model/constances/index.ts b/src/app/model/constances/index.ts new file mode 100644 index 0000000..61fe4c8 --- /dev/null +++ b/src/app/model/constances/index.ts @@ -0,0 +1,2 @@ +export * from './BoardSize'; +export * from './PiecesStartPosition'; diff --git a/src/app/model/index.ts b/src/app/model/index.ts index 147f920..c9fcf9c 100644 --- a/src/app/model/index.ts +++ b/src/app/model/index.ts @@ -1,7 +1,7 @@ export * from './Chessboard'; export * from './ChessEngine'; export * from './ChessModel'; -export * from './Constances'; +export * from './constances/BoardSize'; export * from './HelperFunctions'; export * from './PieceMoves'; export * from './PiecePossibleMoves'; @@ -10,3 +10,4 @@ export * from './PieceWasCaptured'; export * from './PieceWasMoved'; export * from './pieces'; export * from './Types'; +export { PIECES_START_POSITION } from './constances/PiecesStartPosition'; diff --git a/src/app/model/pieces/Piece.ts b/src/app/model/pieces/Piece.ts index 8c8f7c0..3d832cb 100644 --- a/src/app/model/pieces/Piece.ts +++ b/src/app/model/pieces/Piece.ts @@ -1,6 +1,6 @@ import { columns, Row, Side, Square, Vector } from '../Types'; import { PiecePositions } from '../PiecesPositions'; -import { BOARD_SIZE } from '../Constances'; +import { BOARD_SIZE } from '../constances/BoardSize'; export abstract class Piece { protected constructor(public side: Side) {} diff --git a/test/app/presenter/ChessBoardPresenter.spec.ts b/test/app/presenter/ChessBoardPresenter.spec.ts index f2ab9ff..9c8f87b 100644 --- a/test/app/presenter/ChessBoardPresenter.spec.ts +++ b/test/app/presenter/ChessBoardPresenter.spec.ts @@ -1,11 +1,12 @@ import '@testing-library/jest-dom'; import { ChessBoardView } from '../../../src/app/view/ChessBoardView'; -import { ChessModel, PIECES_START_POSITION, Square } from '../../../src/app/model'; +import { ChessModel, Square } from '../../../src/app/model'; import { ChessBoardPresenter } from '../../../src/app/presenter/ChessBoardPresenter'; import { ViewEventBus } from '../../../src/app/view/events/ViewEventBus'; import { ViewEvent } from '../../../src/app/view/events/ViewEvent'; import { SquareWasClicked } from '../../../src/app/view/events/SquareWasClicked'; import { InMemoryViewEventBus } from '../../../src/app/view/events/InMemoryViewEventBus'; +import { PIECES_START_POSITION } from '../../../src/app/model/constances/PiecesStartPosition'; describe('ChessBoardPresenter', () => { it('when square A1 was clicked on the view, then selected piece should be shown with its possible moves', () => { From 66ba8c1de27e4d3e4802b834c65f37b8c23b99e9 Mon Sep 17 00:00:00 2001 From: lamparina <59768305+lamparina@users.noreply.github.com> Date: Sun, 14 Feb 2021 19:30:15 +0100 Subject: [PATCH 119/134] #52 Model | ChessEngine (metoda movePiece) - Event PawnPromotionWasEnabled (#80) * Add test * Change turn to avoid error * Add pawnPromotionWasEnabled event * Fix tests * Block move until promotion is done * Restore tests for check | Merge changes and resolve conflicts * Update lock file * Fix bug * Add missing test case Co-authored-by: lamparina --- package-lock.json | 13953 +-------------------- src/app/model/ChessEngine.ts | 38 +- src/app/model/ChessModel.ts | 3 +- src/app/model/PawnPromotionWasEnabled.ts | 8 + src/app/model/index.ts | 1 + test/app/model/ChessEngine.spec.ts | 242 +- 6 files changed, 295 insertions(+), 13950 deletions(-) create mode 100644 src/app/model/PawnPromotionWasEnabled.ts diff --git a/package-lock.json b/package-lock.json index c7603f5..76a1c18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13943 +1,8 @@ { "name": "coderscamp2020.project.typescript.chess", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "coderscamp2020.project.typescript.chess", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "eslint-config-prettier": "^7.2.0", - "lodash": "^4.17.20", - "parcel": "^1.12.4", - "regenerator-runtime": "^0.13.7", - "uuid": "^8.3.0" - }, - "devDependencies": { - "@babel/core": "^7.11.6", - "@babel/preset-env": "^7.11.5", - "@testing-library/dom": "^7.26.6", - "@testing-library/jest-dom": "^5.11.6", - "@testing-library/user-event": "^12.2.2", - "@types/jest": "^26.0.20", - "@types/lodash": "^4.14.168", - "@types/node": "^14.14.22", - "@typescript-eslint/eslint-plugin": "^4.14.0", - "@typescript-eslint/parser": "^4.14.0", - "babel-jest": "^26.5.0", - "cssnano": "^4.1.10", - "eslint": "^7.18.0", - "husky": "^4.3.6", - "jest": "^26.6.3", - "jest-extended": "^0.11.5", - "jest-fetch-mock": "^3.0.3", - "msw": "^0.21.3", - "parcel-bundler": "^1.12.4", - "parcel-plugin-static-files-copy": "^2.5.0", - "prettier": "2.2.1", - "pretty-quick": "^3.1.0", - "rimraf": "^3.0.2", - "sass": "^1.30.0", - "ts-jest": "^26.4.4", - "tsc-watch": "^4.2.9", - "typescript": "^4.1.3" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" - }, - "node_modules/@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", - "dependencies": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", - "dependencies": { - "@babel/types": "^7.12.10" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", - "dependencies": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.14.5", - "semver": "^5.5.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "regexpu-core": "^4.7.1" - } - }, - "node_modules/@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dependencies": { - "@babel/types": "^7.12.10" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "dependencies": { - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "dependencies": { - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "dependencies": { - "@babel/types": "^7.12.5" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "dependencies": { - "@babel/types": "^7.12.10" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "dependencies": { - "@babel/types": "^7.12.1" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", - "dependencies": { - "@babel/types": "^7.12.11" - } - }, - "node_modules/@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==" - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", - "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "node_modules/@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "dependencies": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "node_modules/@babel/highlight/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", - "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz", - "integrity": "sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", - "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.10.tgz", - "integrity": "sha512-0ti12wLTLeUIzu9U7kjqIn4MyOL7+Wibc7avsHhj4o1l5C0ATs8p2IMHrVYjm9t9wzhfEO6S3kxax0Rpdo8LTg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-flow": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", - "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", - "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", - "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.10", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.12.1", - "@babel/types": "^7.12.12" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", - "dependencies": { - "regenerator-transform": "^0.14.2" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", - "dependencies": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "node_modules/@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", - "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", - "dev": true, - "dependencies": { - "core-js-pure": "^3.0.0", - "regenerator-runtime": "^0.13.4" - } - }, - "node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "node_modules/@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "node_modules/@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 - }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", - "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@eslint/eslintrc/node_modules/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, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@eslint/eslintrc/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/@iarna/toml": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", - "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" - }, - "node_modules/@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, - "dependencies": { - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/core/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/core/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "node-notifier": "^8.0.0" - } - }, - "node_modules/@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, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/source-map/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@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, - "dependencies": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/transform/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@jest/transform/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dependencies": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.scandir/node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@open-draft/until": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", - "integrity": "sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==", - "dev": true - }, - "node_modules/@parcel/fs": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz", - "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", - "dependencies": { - "@parcel/utils": "^1.11.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.2" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@parcel/fs/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/@parcel/logger": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz", - "integrity": "sha512-9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==", - "dependencies": { - "@parcel/workers": "^1.11.0", - "chalk": "^2.1.0", - "grapheme-breaker": "^0.3.2", - "ora": "^2.1.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@parcel/logger/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@parcel/logger/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@parcel/logger/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@parcel/logger/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/@parcel/logger/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/@parcel/logger/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@parcel/utils": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz", - "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@parcel/watcher": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz", - "integrity": "sha512-od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==", - "dependencies": { - "@parcel/utils": "^1.11.0", - "chokidar": "^2.1.5" - } - }, - "node_modules/@parcel/workers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz", - "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==", - "dependencies": { - "@parcel/utils": "^1.11.0", - "physical-cpu-count": "^2.0.0" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@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, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@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, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@testing-library/dom": { - "version": "7.29.4", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.4.tgz", - "integrity": "sha512-CtrJRiSYEfbtNGtEsd78mk1n1v2TUbeABlNIcOCJdDfkN5/JTOwQEbbQpoSRxGqzcWPgStMvJ4mNolSuBRv1NA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^4.2.2", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.4", - "lz-string": "^1.4.4", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "5.11.9", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.9.tgz", - "integrity": "sha512-Mn2gnA9d1wStlAIT2NU8J15LNob0YFBVjs2aEQ3j8rsfRQo+lAs7/ui1i2TGaJjapLmuNPLTsrm+nPjmZDwpcQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^4.2.2", - "chalk": "^3.0.0", - "css": "^3.0.0", - "css.escape": "^1.5.1", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/user-event": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.6.0.tgz", - "integrity": "sha512-FNEH/HLmOk5GO70I52tKjs7WvGYckeE/SrnLX/ip7z2IGbffyd5zOUM1tZ10vsTphqm+VbDFI0oaXu0wcfQsAQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/@types/aria-query": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz", - "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==", - "dev": true - }, - "node_modules/@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, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@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, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==", - "dev": true - }, - "node_modules/@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, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@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 - }, - "node_modules/@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, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@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, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "26.0.20", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", - "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", - "dev": true, - "dependencies": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", - "dev": true - }, - "node_modules/@types/lodash": { - "version": "4.14.168", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", - "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "14.14.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", - "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", - "dev": true - }, - "node_modules/@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 - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", - "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", - "dev": true - }, - "node_modules/@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" - }, - "node_modules/@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 - }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.9.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz", - "integrity": "sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ==", - "dev": true, - "dependencies": { - "@types/jest": "*" - } - }, - "node_modules/@types/yargs": { - "version": "15.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", - "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz", - "integrity": "sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "4.14.0", - "@typescript-eslint/scope-manager": "4.14.0", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "lodash": "^4.17.15", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz", - "integrity": "sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.14.0", - "@typescript-eslint/types": "4.14.0", - "@typescript-eslint/typescript-estree": "4.14.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz", - "integrity": "sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "4.14.0", - "@typescript-eslint/types": "4.14.0", - "@typescript-eslint/typescript-estree": "4.14.0", - "debug": "^4.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz", - "integrity": "sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.14.0", - "@typescript-eslint/visitor-keys": "4.14.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz", - "integrity": "sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A==", - "dev": true, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz", - "integrity": "sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.14.0", - "@typescript-eslint/visitor-keys": "4.14.0", - "debug": "^4.1.1", - "globby": "^11.0.1", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz", - "integrity": "sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "4.14.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - } - }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-escapes/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-to-html": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", - "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", - "dependencies": { - "entities": "^1.1.2" - }, - "bin": { - "ansi-to-html": "bin/ansi-to-html" - }, - "engines": { - "node": "*" - } - }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dependencies": { - "inherits": "2.0.1" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/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=", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - } - }, - "node_modules/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, - "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "node_modules/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babylon-walk": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz", - "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=", - "dependencies": { - "babel-runtime": "^6.11.6", - "babel-types": "^6.15.0", - "lodash.clone": "^4.5.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/brfs": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", - "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", - "dependencies": { - "quote-stream": "^1.0.1", - "resolve": "^1.1.5", - "static-module": "^2.2.0", - "through2": "^2.0.0" - }, - "bin": { - "brfs": "bin/cmd.js" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "node_modules/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==" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/browserify-sign/node_modules/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==" - }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dependencies": { - "pako": "~1.0.5" - } - }, - "node_modules/browserify-zlib/node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/browserslist": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", - "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", - "dependencies": { - "caniuse-lite": "^1.0.30001173", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.634", - "escalade": "^3.1.1", - "node-releases": "^1.1.69" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "node_modules/buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/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==" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "node_modules/call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "engines": { - "node": ">=4" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001178", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001178.tgz", - "integrity": "sha512-VtdZLC0vsXykKni8Uztx45xynytOi71Ufx9T8kHptSw9AL4dpqailUJJHavttuzUe1KYuBYtChiWv+BAb7mPmQ==" - }, - "node_modules/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, - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/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, - "engines": { - "node": ">=10" - } - }, - "node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/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 - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/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 - }, - "node_modules/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==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", - "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cliui/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/coa/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/coa/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/coa/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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 - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", - "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" - } - }, - "node_modules/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/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==" - }, - "node_modules/color-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "node_modules/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==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "node_modules/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==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "hasInstallScript": true - }, - "node_modules/core-js-compat": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", - "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", - "dependencies": { - "browserslist": "^4.16.1", - "semver": "7.0.0" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-js-pure": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", - "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==", - "dev": true, - "hasInstallScript": true - }, - "node_modules/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=" - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "node-fetch": "2.6.1" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, - "node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "engines": { - "node": "*" - } - }, - "node_modules/css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dependencies": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - }, - "engines": { - "node": ">4" - } - }, - "node_modules/css-modules-loader-core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", - "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", - "dependencies": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.1", - "postcss-modules-extract-imports": "1.1.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/chalk/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/postcss": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", - "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", - "dependencies": { - "chalk": "^1.1.3", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-modules-loader-core/node_modules/supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dependencies": { - "has-flag": "^1.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "node_modules/css-selector-tokenizer": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", - "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", - "dependencies": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2" - } - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", - "dev": true - }, - "node_modules/css/node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dependencies": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dependencies": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", - "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dependencies": { - "cssom": "0.3.x" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } - }, - "node_modules/deasync": { - "version": "0.1.21", - "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz", - "integrity": "sha512-kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "node-addon-api": "^1.7.1" - }, - "engines": { - "node": ">=0.11.0" - } - }, - "node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/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=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/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=" - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/defaults/node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/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==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz", - "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==", - "dev": true - }, - "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" - }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dependencies": { - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", - "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", - "engines": { - "node": ">=4.6.0" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.3.641", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.641.tgz", - "integrity": "sha512-b0DLhsHSHESC1I+Nx6n4w4Lr61chMd3m/av1rZQhS2IXTzaS5BMM5N+ldWdMIlni9CITMRM09m8He4+YV/92TA==" - }, - "node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/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 - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/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, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/envinfo": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", - "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-abstract/node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "node_modules/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==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/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=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", - "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", - "dependencies": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", - "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.3.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.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", - "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.20", - "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": "^6.0.4", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/eslint-config-prettier": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", - "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", - "bin": { - "eslint-config-prettier": "bin/cli.js" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/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, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-utils/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/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, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-stream": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", - "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", - "dev": true, - "dependencies": { - "duplexer": "~0.1.1", - "from": "~0", - "map-stream": "~0.1.0", - "pause-stream": "0.0.11", - "split": "0.3", - "stream-combiner": "~0.0.4", - "through": "~2.3.1" - } - }, - "node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/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 - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "dev": true, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend-shallow/node_modules/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==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/falafel": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", - "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", - "dependencies": { - "acorn": "^7.1.1", - "foreach": "^2.0.5", - "isarray": "^2.0.1", - "object-keys": "^1.0.6" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/falafel/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/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==" - }, - "node_modules/fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dependencies": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/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==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "node_modules/fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" - }, - "node_modules/fastq": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", - "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "node_modules/filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-versions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", - "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", - "dev": true, - "dependencies": { - "semver-regex": "^3.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "engines": { - "node": "*" - } - }, - "node_modules/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==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/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 - }, - "node_modules/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==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/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, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "node_modules/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, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "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" - }, - "engines": { - "node": "*" - } - }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/globby/node_modules/@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/globby/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby/node_modules/fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby/node_modules/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, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globby/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/globby/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "node_modules/grapheme-breaker": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", - "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", - "dependencies": { - "brfs": "^1.2.0", - "unicode-trie": "^0.3.1" - } - }, - "node_modules/graphql": { - "version": "15.4.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.4.0.tgz", - "integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/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 - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/node_modules/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==" - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/headers-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/headers-utils/-/headers-utils-1.2.0.tgz", - "integrity": "sha512-4/BMXcWrJErw7JpM87gF8MNEXcIMLzepYZjNRv/P9ctgupl2Ywa3u1PgHtNhSRq84bHH9Ndlkdy7bSi+bZ9I9A==", - "dev": true - }, - "node_modules/hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/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 - }, - "node_modules/hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "node_modules/hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "node_modules/html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" - }, - "node_modules/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dependencies": { - "whatwg-encoding": "^1.0.1" - } - }, - "node_modules/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 - }, - "node_modules/html-tags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz", - "integrity": "sha1-x43mW1Zjqll5id0rerSSANfk25g=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/htmlnano": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.8.tgz", - "integrity": "sha512-q5gbo4SIDAE5sfJ5V0UD6uu+n1dcO/Mpr0B6SlDlJBoV7xKPne4uG4UwrT8vUWjdjIPJl95TY8EDuEbBW2TG0A==", - "dependencies": { - "cssnano": "^4.1.10", - "posthtml": "^0.13.4", - "posthtml-render": "^1.3.0", - "purgecss": "^2.3.0", - "relateurl": "^0.2.7", - "srcset": "^3.0.0", - "svgo": "^1.3.2", - "terser": "^4.8.0", - "timsort": "^0.3.0", - "uncss": "^0.17.3" - } - }, - "node_modules/htmlnano/node_modules/posthtml": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.13.4.tgz", - "integrity": "sha512-i2oTo/+dwXGC6zaAQSF6WZEQSbEqu10hsvg01DWzGAfZmy31Iiy9ktPh9nnXDfZiYytjxTIvxoK4TI0uk4QWpw==", - "dependencies": { - "posthtml-parser": "^0.5.0", - "posthtml-render": "^1.2.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/htmlnano/node_modules/posthtml-parser": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.5.3.tgz", - "integrity": "sha512-uHosRn0y+1wbnlYKrqMjBPoo/kK5LPYImLtiETszNFYfFwAD3cQdD1R2E13Mh5icBxkHj+yKtlIHozCsmVWD/Q==", - "dependencies": { - "htmlparser2": "^3.9.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/htmlnano/node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/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==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "node_modules/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, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/husky": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", - "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "compare-versions": "^3.6.0", - "cosmiconfig": "^7.0.0", - "find-versions": "^4.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^5.0.0", - "please-upgrade-node": "^3.2.0", - "slash": "^3.0.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "husky-run": "bin/run.js", - "husky-upgrade": "lib/upgrader/bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/husky/node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/husky/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/husky/node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/husky/node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/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==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/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, - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dependencies": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "node_modules/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==", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-html": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz", - "integrity": "sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=", - "dependencies": { - "html-tags": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/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==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dependencies": { - "html-comment-regex": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/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, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", - "dev": true, - "dependencies": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-changed-files/node_modules/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==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-changed-files/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-config/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-config/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jest-environment-jsdom/node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/jsdom": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", - "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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 - }, - "node_modules/jest-environment-jsdom/node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/jest-environment-jsdom/node_modules/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, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^2.0.2", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-environment-jsdom/node_modules/ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", - "dev": true, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-extended": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-0.11.5.tgz", - "integrity": "sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q==", - "dev": true, - "dependencies": { - "expect": "^24.1.0", - "jest-get-type": "^22.4.3", - "jest-matcher-utils": "^22.0.0" - } - }, - "node_modules/jest-extended/node_modules/@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "dev": true, - "dependencies": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "dev": true, - "dependencies": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/jest-extended/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/jest-extended/node_modules/@types/yargs": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", - "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-extended/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-extended/node_modules/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, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-extended/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-extended/node_modules/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, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-extended/node_modules/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, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/jest-extended/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/jest-extended/node_modules/diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/expect/node_modules/jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/expect/node_modules/jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-extended/node_modules/jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/jest-diff/node_modules/jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/jest-get-type": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", - "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", - "dev": true - }, - "node_modules/jest-extended/node_modules/jest-matcher-utils": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", - "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", - "dev": true, - "dependencies": { - "chalk": "^2.0.1", - "jest-get-type": "^22.4.3", - "pretty-format": "^22.4.3" - } - }, - "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" - } - }, - "node_modules/jest-extended/node_modules/jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dev": true, - "dependencies": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jest-extended/node_modules/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 - }, - "node_modules/jest-extended/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/jest-extended/node_modules/stack-utils": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", - "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-extended/node_modules/stack-utils/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-extended/node_modules/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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jest-fetch-mock": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", - "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", - "dev": true, - "dependencies": { - "cross-fetch": "^3.0.4", - "promise-polyfill": "^8.1.3" - } - }, - "node_modules/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, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" - } - }, - "node_modules/jest-haste-map/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/jest-haste-map/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/fsevents": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", - "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/jest-haste-map/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-haste-map/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-haste-map/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-message-util/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-message-util/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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, - "dependencies": { - "@jest/types": "^26.6.2", - "@types/node": "*" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-util/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jest-util/node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "dev": true, - "dependencies": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "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.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js-yaml/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "node_modules/jsdom": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", - "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", - "dependencies": { - "abab": "^2.0.0", - "acorn": "^6.0.4", - "acorn-globals": "^4.3.0", - "array-equal": "^1.0.0", - "cssom": "^0.3.4", - "cssstyle": "^1.1.1", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.0", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.1.3", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.5.0", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^6.1.2", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsdom/node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/jsdom/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jsdom/node_modules/ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/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 - }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "node_modules/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==" - }, - "node_modules/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 - }, - "node_modules/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=" - }, - "node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/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 - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "node_modules/lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", - "dev": true, - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.22.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", - "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", - "dependencies": { - "vlq": "^0.2.2" - } - }, - "node_modules/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, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "dependencies": { - "tmpl": "1.0.x" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-stream": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", - "dev": true - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/merge-source-map": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", - "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", - "dependencies": { - "source-map": "^0.5.6" - } - }, - "node_modules/merge-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", - "dependencies": { - "mime-db": "1.45.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/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==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mri": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", - "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/msw": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/msw/-/msw-0.21.3.tgz", - "integrity": "sha512-voPc/EJsjarvi454vSEuozZQQqLG4AUHT6qQL5Ah47lq7sGCpc7icByeUlfvEj5+MvaugN0c7JwXyCa2rxu8cA==", - "dev": true, - "dependencies": { - "@open-draft/until": "^1.0.3", - "@types/cookie": "^0.4.0", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cookie": "^0.4.1", - "graphql": "^15.3.0", - "headers-utils": "^1.2.0", - "node-fetch": "^2.6.1", - "node-match-path": "^0.4.4", - "node-request-interceptor": "^0.5.1", - "statuses": "^2.0.0", - "yargs": "^16.0.3" - }, - "bin": { - "msw": "cli/index.js" - } - }, - "node_modules/msw/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/msw/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/msw/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/msw/node_modules/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, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/fsevents": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", - "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/msw/node_modules/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, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/msw/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/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, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/msw/node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/msw/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/msw/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/msw/node_modules/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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/msw/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/msw/node_modules/y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/msw/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/msw/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/multimatch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", - "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", - "dev": true, - "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" - }, - "node_modules/node-cleanup": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", - "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=", - "dev": true - }, - "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "dev": true, - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", - "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", - "engines": { - "node": "*" - } - }, - "node_modules/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/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - } - }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "node_modules/node-match-path": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/node-match-path/-/node-match-path-0.4.4.tgz", - "integrity": "sha512-pBq9gp7TG0r0VXuy/oeZmQsjBSnYQo7G886Ly/B3azRwZuEtHCY155dzmfoKWcDPGgyfIGD8WKVC7h3+6y7yTg==", - "dev": true - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "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" - } - }, - "node_modules/node-notifier/node_modules/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, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-notifier/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "optional": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-notifier/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/node-releases": { - "version": "1.1.70", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", - "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" - }, - "node_modules/node-request-interceptor": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/node-request-interceptor/-/node-request-interceptor-0.5.9.tgz", - "integrity": "sha512-M1a3aulCW/kqajDn/w+qBX86G4So7utJGlrODAjQ1piz/kR8ZaDfd/wrJnsuPtUM12F0YxsnXG8qRKFkIEIxsw==", - "dev": true, - "dependencies": { - "@open-draft/until": "^1.0.3", - "debug": "^4.3.0", - "headers-utils": "^1.2.0" - } - }, - "node_modules/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, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/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, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", - "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", - "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", - "dev": true, - "bin": { - "opencollective-postinstall": "index.js" - } - }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", - "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", - "dependencies": { - "chalk": "^2.3.1", - "cli-cursor": "^2.1.0", - "cli-spinners": "^1.1.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^4.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/ora/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" - }, - "node_modules/parcel": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/parcel/-/parcel-1.12.4.tgz", - "integrity": "sha512-qfc74e2/R4pCoU6L/ZZnK9k3iDS6ir4uHea0e9th9w52eehcAGf2ido/iABq9PBXdsIOe4NSY3oUm7Khe7+S3w==", - "hasInstallScript": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.4.4", - "@babel/generator": "^7.4.4", - "@babel/parser": "^7.4.4", - "@babel/plugin-transform-flow-strip-types": "^7.4.4", - "@babel/plugin-transform-modules-commonjs": "^7.4.4", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/preset-env": "^7.4.4", - "@babel/runtime": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4", - "@iarna/toml": "^2.2.0", - "@parcel/fs": "^1.11.0", - "@parcel/logger": "^1.11.1", - "@parcel/utils": "^1.11.0", - "@parcel/watcher": "^1.12.1", - "@parcel/workers": "^1.11.0", - "ansi-to-html": "^0.6.4", - "babylon-walk": "^1.0.2", - "browserslist": "^4.1.0", - "chalk": "^2.1.0", - "clone": "^2.1.1", - "command-exists": "^1.2.6", - "commander": "^2.11.0", - "core-js": "^2.6.5", - "cross-spawn": "^6.0.4", - "css-modules-loader-core": "^1.1.0", - "cssnano": "^4.0.0", - "deasync": "^0.1.14", - "dotenv": "^5.0.0", - "dotenv-expand": "^5.1.0", - "envinfo": "^7.3.1", - "fast-glob": "^2.2.2", - "filesize": "^3.6.0", - "get-port": "^3.2.0", - "htmlnano": "^0.2.2", - "is-glob": "^4.0.0", - "is-url": "^1.2.2", - "js-yaml": "^3.10.0", - "json5": "^1.0.1", - "micromatch": "^3.0.4", - "mkdirp": "^0.5.1", - "node-forge": "^0.7.1", - "node-libs-browser": "^2.0.0", - "opn": "^5.1.0", - "postcss": "^7.0.11", - "postcss-value-parser": "^3.3.1", - "posthtml": "^0.11.2", - "posthtml-parser": "^0.4.0", - "posthtml-render": "^1.1.3", - "resolve": "^1.4.0", - "semver": "^5.4.1", - "serialize-to-js": "^3.0.0", - "serve-static": "^1.12.4", - "source-map": "0.6.1", - "terser": "^3.7.3", - "v8-compile-cache": "^2.0.0", - "ws": "^5.1.1" - }, - "bin": { - "parcel": "bin/cli.js" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/parcel-bundler": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.4.tgz", - "integrity": "sha512-G+iZGGiPEXcRzw0fiRxWYCKxdt/F7l9a0xkiU4XbcVRJCSlBnioWEwJMutOCCpoQmaQtjB4RBHDGIHN85AIhLQ==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.4.4", - "@babel/generator": "^7.4.4", - "@babel/parser": "^7.4.4", - "@babel/plugin-transform-flow-strip-types": "^7.4.4", - "@babel/plugin-transform-modules-commonjs": "^7.4.4", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/preset-env": "^7.4.4", - "@babel/runtime": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4", - "@iarna/toml": "^2.2.0", - "@parcel/fs": "^1.11.0", - "@parcel/logger": "^1.11.1", - "@parcel/utils": "^1.11.0", - "@parcel/watcher": "^1.12.1", - "@parcel/workers": "^1.11.0", - "ansi-to-html": "^0.6.4", - "babylon-walk": "^1.0.2", - "browserslist": "^4.1.0", - "chalk": "^2.1.0", - "clone": "^2.1.1", - "command-exists": "^1.2.6", - "commander": "^2.11.0", - "core-js": "^2.6.5", - "cross-spawn": "^6.0.4", - "css-modules-loader-core": "^1.1.0", - "cssnano": "^4.0.0", - "deasync": "^0.1.14", - "dotenv": "^5.0.0", - "dotenv-expand": "^5.1.0", - "envinfo": "^7.3.1", - "fast-glob": "^2.2.2", - "filesize": "^3.6.0", - "get-port": "^3.2.0", - "htmlnano": "^0.2.2", - "is-glob": "^4.0.0", - "is-url": "^1.2.2", - "js-yaml": "^3.10.0", - "json5": "^1.0.1", - "micromatch": "^3.0.4", - "mkdirp": "^0.5.1", - "node-forge": "^0.7.1", - "node-libs-browser": "^2.0.0", - "opn": "^5.1.0", - "postcss": "^7.0.11", - "postcss-value-parser": "^3.3.1", - "posthtml": "^0.11.2", - "posthtml-parser": "^0.4.0", - "posthtml-render": "^1.1.3", - "resolve": "^1.4.0", - "semver": "^5.4.1", - "serialize-to-js": "^3.0.0", - "serve-static": "^1.12.4", - "source-map": "0.6.1", - "terser": "^3.7.3", - "v8-compile-cache": "^2.0.0", - "ws": "^5.1.1" - }, - "bin": { - "parcel": "bin/cli.js" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/parcel-bundler/node_modules/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, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel-bundler/node_modules/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, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel-bundler/node_modules/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, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/parcel-bundler/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/parcel-bundler/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel-bundler/node_modules/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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel-plugin-static-files-copy": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/parcel-plugin-static-files-copy/-/parcel-plugin-static-files-copy-2.5.0.tgz", - "integrity": "sha512-5rxOPw3iV+WXhePfByoIxsUlL4I0o95CgcF31gwgnhPuj2q6tVPuzEAJsag9bWJr5Vd/SXFPTNsUAGAg4jP07Q==", - "dev": true, - "dependencies": { - "minimatch": "3.0.4", - "path": "0.12.7" - } - }, - "node_modules/parcel/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/parcel/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/parcel/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/parcel/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "dev": true, - "dependencies": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/path/node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", - "dev": true, - "dependencies": { - "through": "~2.3" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "node_modules/physical-cpu-count": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", - "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" - }, - "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "dependencies": { - "node-modules-regexp": "^1.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dev": true, - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/please-upgrade-node": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", - "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", - "dev": true, - "dependencies": { - "semver-compare": "^1.0.0" - } - }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" - }, - "node_modules/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=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "dependencies": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "node_modules/postcss-calc/node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - }, - "node_modules/postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dependencies": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dependencies": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", - "dependencies": { - "postcss": "^6.0.1" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss-modules-extract-imports/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dependencies": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dependencies": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss-modules-local-by-default/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dependencies": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dependencies": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "node_modules/postcss-modules-scope/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss-modules-scope/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss-modules-scope/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-scope/node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dependencies": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-modules-scope/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dependencies": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - } - }, - "node_modules/postcss-modules-values/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss-modules-values/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss-modules-values/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-modules-values/node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dependencies": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-modules-values/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dependencies": { - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dependencies": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dependencies": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dependencies": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dependencies": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dependencies": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dependencies": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dependencies": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" - }, - "node_modules/postcss/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/postcss/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/postcss/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/posthtml": { - "version": "0.11.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz", - "integrity": "sha512-C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==", - "dependencies": { - "posthtml-parser": "^0.4.1", - "posthtml-render": "^1.1.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/posthtml-parser": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz", - "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==", - "dependencies": { - "htmlparser2": "^3.9.2" - } - }, - "node_modules/posthtml-render": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", - "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", - "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/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, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/pretty-quick": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.0.tgz", - "integrity": "sha512-DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "execa": "^4.0.0", - "find-up": "^4.1.0", - "ignore": "^5.1.4", - "mri": "^1.1.5", - "multimatch": "^4.0.0" - }, - "bin": { - "pretty-quick": "bin/pretty-quick.js" - }, - "engines": { - "node": ">=10.13" - } - }, - "node_modules/pretty-quick/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/pretty-quick/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pretty-quick/node_modules/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==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/pretty-quick/node_modules/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, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pretty-quick/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise-polyfill": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", - "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==", - "dev": true - }, - "node_modules/prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ps-tree": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", - "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", - "dev": true, - "dependencies": { - "event-stream": "=3.3.4" - }, - "bin": { - "ps-tree": "bin/ps-tree.js" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/purgecss": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", - "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", - "dependencies": { - "commander": "^5.0.0", - "glob": "^7.0.0", - "postcss": "7.0.32", - "postcss-selector-parser": "^6.0.2" - }, - "bin": { - "purgecss": "bin/purgecss" - } - }, - "node_modules/purgecss/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/purgecss/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/purgecss/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/purgecss/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/purgecss/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/purgecss/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/purgecss/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/purgecss/node_modules/postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/purgecss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/quote-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", - "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", - "dependencies": { - "buffer-equal": "0.0.1", - "minimist": "^1.1.3", - "through2": "^2.0.0" - }, - "bin": { - "quote-stream": "bin/cmd.js" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/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 - }, - "node_modules/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, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/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, - "dependencies": { - "@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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "node_modules/regjsparser": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz", - "integrity": "sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/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=" - }, - "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dependencies": { - "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" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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==", - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dependencies": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "node_modules/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, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true, - "engines": { - "node": "6.* || >= 7.*" - } - }, - "node_modules/run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true - }, - "node_modules/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==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "dependencies": { - "@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" - }, - "bin": { - "sane": "src/cli.js" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/sass": { - "version": "1.32.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.4.tgz", - "integrity": "sha512-N0BT0PI/t3+gD8jKa83zJJUb7ssfQnRRfqN+GIErokW6U4guBpfYl8qYB+OFLEho+QvnV5ZH1R9qhUC/Z2Ch9w==", - "dev": true, - "dependencies": { - "chokidar": ">=2.0.0 <4.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", - "dependencies": { - "xmlchars": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "node_modules/semver-regex": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", - "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/serialize-to-js": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.1.1.tgz", - "integrity": "sha512-F+NGU0UHMBO4Q965tjw7rvieNVjlH6Lqi2emq/Lc9LUURYJbiCzmpi4Cy1OOjjVPtxu0c+NE85LU6968Wko5ZA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/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 - }, - "node_modules/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==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shallow-copy": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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 - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/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==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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==", - "dependencies": { - "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" - } - }, - "node_modules/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==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/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 - }, - "node_modules/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, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/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 - }, - "node_modules/split": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", - "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", - "dev": true, - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/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==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/srcset": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-3.0.0.tgz", - "integrity": "sha512-D59vF08Qzu/C4GAOXVgMTLfgryt5fyWo93FZyhEWANo0PokFz/iWdDe13mX3O5TRf6l8vMTqckAfR4zPiaH0yQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dependencies": { - "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" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "node_modules/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, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/static-eval": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", - "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", - "dependencies": { - "escodegen": "^1.11.1" - } - }, - "node_modules/static-eval/node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/static-eval/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-module": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", - "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", - "dependencies": { - "concat-stream": "~1.6.0", - "convert-source-map": "^1.5.1", - "duplexer2": "~0.1.4", - "escodegen": "~1.9.0", - "falafel": "^2.1.0", - "has": "^1.0.1", - "magic-string": "^0.22.4", - "merge-source-map": "1.0.4", - "object-inspect": "~1.4.0", - "quote-stream": "~1.0.2", - "readable-stream": "~2.3.3", - "shallow-copy": "~0.0.1", - "static-eval": "^2.0.0", - "through2": "~2.0.3" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/stream-combiner": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", - "dev": true, - "dependencies": { - "duplexer": "~0.1.1" - } - }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-argv": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", - "integrity": "sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/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, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-length/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dependencies": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/stylehacks/node_modules/postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dependencies": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/svgo/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/svgo/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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==" - }, - "node_modules/table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", - "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/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, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", - "dependencies": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" - }, - "bin": { - "terser": "bin/uglifyjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/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, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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 - }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dependencies": { - "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "node_modules/tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" - }, - "node_modules/tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "node_modules/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=", - "engines": { - "node": ">=4" - } - }, - "node_modules/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=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/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==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ts-jest": { - "version": "26.4.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", - "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", - "dev": true, - "dependencies": { - "@types/jest": "26.x", - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-jest/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-jest/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/tsc-watch": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-4.2.9.tgz", - "integrity": "sha512-DlTaoDs74+KUpyWr7dCGhuscAUKCz6CiFduBN7R9RbLJSSN1moWdwoCLASE7+zLgGvV5AwXfYDiEMAsPGaO+Vw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "node-cleanup": "^2.1.2", - "ps-tree": "^1.2.0", - "string-argv": "^0.1.1", - "strip-ansi": "^6.0.0" - }, - "bin": { - "tsc-watch": "index.js" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tsc-watch/node_modules/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, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tsc-watch/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsc-watch/node_modules/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, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsc-watch/node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsc-watch/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsc-watch/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", - "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", - "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/uncss": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", - "integrity": "sha512-ksdDWl81YWvF/X14fOSw4iu8tESDHFIeyKIeDrK6GEVTQvqJc1WlOEXqostNwOCi3qAj++4EaLsdAgPmUbEyog==", - "dependencies": { - "commander": "^2.20.0", - "glob": "^7.1.4", - "is-absolute-url": "^3.0.1", - "is-html": "^1.1.0", - "jsdom": "^14.1.0", - "lodash": "^4.17.15", - "postcss": "^7.0.17", - "postcss-selector-parser": "6.0.2", - "request": "^2.88.0" - }, - "bin": { - "uncss": "bin/uncss" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/uncss/node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/uncss/node_modules/postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dependencies": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-trie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", - "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", - "dependencies": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - } - }, - "node_modules/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==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "node_modules/util.promisify/node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/util.promisify/node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" - }, - "node_modules/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, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/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, - "engines": { - "node": ">= 8" - } - }, - "node_modules/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, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vlq": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - }, - "node_modules/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==", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", - "dependencies": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, - "node_modules/walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "dependencies": { - "makeerror": "1.0.x" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "node_modules/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==", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/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==" - }, - "node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/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 - }, - "node_modules/which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", - "dev": true - }, - "node_modules/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/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, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/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, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/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==" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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, - "dependencies": { - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - } - } - }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", @@ -24380,14 +10445,6 @@ "xtend": "^4.0.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, "string-argv": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", @@ -24455,6 +10512,14 @@ "define-properties": "^1.1.3" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 946cd9a..6b9cb89 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,24 +1,29 @@ import { ChessModel } from './ChessModel'; import { Row, Side, Square, SquareWithPiece } from './Types'; -import { Piece } from './pieces'; +import { Pawn, Piece } from './pieces'; import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; +import { PawnPromotionWasEnabled } from './PawnPromotionWasEnabled'; import { isDefined } from './HelperFunctions'; export class ChessEngine implements ChessModel { private currentSide: Side = Side.WHITE; readonly squaresWithPiece: SquareWithPiece; + private promotingOnSquare: Square | undefined; constructor(private readonly board: Chessboard) { this.squaresWithPiece = board.squaresWithPiece; } - move(squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[] { + move(squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured | PawnPromotionWasEnabled)[] { const chosenPiece = this.board.onPositionPiece(squareFrom); if (!chosenPiece) { throw new Error('There is no piece on this square.'); } + if (this.promotingOnSquare) { + throw new Error('No move is possible until promotion is done.'); + } if (chosenPiece.side !== this.currentSide) { throw new Error(`It's not Your turn.`); } @@ -34,8 +39,10 @@ export class ChessEngine implements ChessModel { }; const pieceWasCaptured = this.pieceWasCaptured(squareTo, chosenPiece); + const pawnPromotionWasEnabled = this.pawnPromotionWasEnabled(chosenPiece, squareTo); + this.onPawnPromotionWasEnabled(pawnPromotionWasEnabled); this.onPieceWasMoved(pieceWasMoved); - return pieceWasCaptured ? [pieceWasMoved, pieceWasCaptured] : [pieceWasMoved]; + return [pieceWasMoved, pieceWasCaptured, pawnPromotionWasEnabled].filter(this.hasOccurred); } private pieceWasCaptured(squareTo: Square, chosenPiece: Piece): PieceWasCaptured | undefined { @@ -49,9 +56,28 @@ export class ChessEngine implements ChessModel { : undefined; } + private pawnPromotionWasEnabled(chosenPiece: Piece, squareTo: Square): PawnPromotionWasEnabled | undefined { + return chosenPiece instanceof Pawn && + ((chosenPiece.side === Side.WHITE && squareTo.row === 8) || (chosenPiece.side === Side.BLACK && squareTo.row === 1)) + ? { + eventType: 'PawnPromotionWasEnabled', + onSquare: squareTo, + pawn: chosenPiece as Pawn, + } + : undefined; + } + private onPieceWasMoved(event: PieceWasMoved): void { this.board.movePiece(event.from, event.to); - this.currentSide = this.changeTurn(event.piece.side); + if (!this.promotingOnSquare) { + this.currentSide = this.changeTurn(event.piece.side); + } + } + + private onPawnPromotionWasEnabled(event: PawnPromotionWasEnabled | undefined): void { + if (event) { + this.promotingOnSquare = event.onSquare; + } } private canMoveOnSquare(squareFrom: Square, squareTo: Square): boolean { @@ -119,4 +145,8 @@ export class ChessEngine implements ChessModel { public possibleMoves(position: Square): Square[] { return this.pieceMovesNotCausingAllyKingCheckmate(position); } + + private hasOccurred(x: T | undefined): x is T { + return typeof x !== 'undefined' && x !== null; + } } diff --git a/src/app/model/ChessModel.ts b/src/app/model/ChessModel.ts index 3378324..24b0107 100644 --- a/src/app/model/ChessModel.ts +++ b/src/app/model/ChessModel.ts @@ -1,9 +1,10 @@ import { Square, SquareWithPiece } from './Types'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; +import { PawnPromotionWasEnabled } from './PawnPromotionWasEnabled'; export interface ChessModel { readonly squaresWithPiece: SquareWithPiece; possibleMoves(position: Square): Square[]; - move(squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured)[]; + move(squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured | PawnPromotionWasEnabled)[]; } diff --git a/src/app/model/PawnPromotionWasEnabled.ts b/src/app/model/PawnPromotionWasEnabled.ts new file mode 100644 index 0000000..bebb431 --- /dev/null +++ b/src/app/model/PawnPromotionWasEnabled.ts @@ -0,0 +1,8 @@ +import { Square } from './Types'; +import { Pawn } from './pieces'; + +export type PawnPromotionWasEnabled = { + eventType: 'PawnPromotionWasEnabled'; + onSquare: Square; + pawn: Pawn; +}; diff --git a/src/app/model/index.ts b/src/app/model/index.ts index c9fcf9c..9e65dd4 100644 --- a/src/app/model/index.ts +++ b/src/app/model/index.ts @@ -4,6 +4,7 @@ export * from './ChessModel'; export * from './constances/BoardSize'; export * from './HelperFunctions'; export * from './PieceMoves'; +export * from './PawnPromotionWasEnabled'; export * from './PiecePossibleMoves'; export * from './PiecesPositions'; export * from './PieceWasCaptured'; diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index b5e9272..465ea07 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -1,4 +1,4 @@ -import { Side, Square, SquareWithPiece, ChessEngine, Chessboard, Pawn, Queen, Knight } from '../../../src/app/model'; +import { Side, Square, SquareWithPiece, ChessEngine, Chessboard, Pawn, Queen, Knight, King, Rook, Bishop } from '../../../src/app/model'; import 'jest-extended'; describe('Chess Engine', () => { @@ -108,4 +108,244 @@ describe('Chess Engine', () => { expect(() => engine.move({ column: 'A', row: 2 }, { column: 'A', row: 6 })).toThrowError('There is no piece on this square.'); }); + + it('When white pawn reaches the last row, pawn promotion is enabled', () => { + const whitePawn = new Pawn(Side.WHITE); + const blackKnight = new Knight(Side.BLACK); + const boardWithPieces: SquareWithPiece = { A7: whitePawn, B8: blackKnight }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const squareFrom: Square = { column: 'A', row: 7 }; + const squareTo: Square = { column: 'B', row: 8 }; + + expect(engine.move(squareFrom, squareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasCaptured', piece: blackKnight, onSquare: squareTo }, + { eventType: 'PieceWasMoved', piece: whitePawn, from: squareFrom, to: squareTo }, + { eventType: 'PawnPromotionWasEnabled', onSquare: squareTo, pawn: whitePawn }, + ]); + expect(engine['promotingOnSquare']).toBe(squareTo); + }); + + it('When black pawn reaches the last row, no move is possible until promotion is done', () => { + const whitePawn = new Pawn(Side.WHITE); + const blackPawn = new Pawn(Side.BLACK); + const boardWithPieces: SquareWithPiece = { A2: whitePawn, H2: blackPawn }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const squareFrom: Square = { column: 'H', row: 2 }; + const squareTo: Square = { column: 'H', row: 1 }; + + engine.move({ column: 'A', row: 2 }, { column: 'A', row: 3 }); + + expect(engine.move(squareFrom, squareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: blackPawn, from: squareFrom, to: squareTo }, + { eventType: 'PawnPromotionWasEnabled', onSquare: squareTo, pawn: blackPawn }, + ]); + expect(engine['promotingOnSquare']).toBe(squareTo); + + expect(() => engine.move({ column: 'A', row: 3 }, { column: 'A', row: 4 })).toThrowError( + 'No move is possible until promotion is done.', + ); + }); + + it('When piece other than pawn reaches the last row, promotion is disabled', () => { + const whiteBishop = new Bishop(Side.WHITE); + const blackKnight = new Knight(Side.BLACK); + const boardWithPieces: SquareWithPiece = { C5: whiteBishop, E3: blackKnight }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const whiteSquareFrom: Square = { column: 'C', row: 5 }; + const whiteSquareTo: Square = { column: 'F', row: 8 }; + const blackSquareFrom: Square = { column: 'E', row: 3 }; + const blackSquareTo: Square = { column: 'D', row: 1 }; + + expect(engine.move(whiteSquareFrom, whiteSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: whiteBishop, from: whiteSquareFrom, to: whiteSquareTo }, + ]); + expect(engine['promotingOnSquare']).toBeUndefined(); + expect(engine.move(blackSquareFrom, blackSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: blackKnight, from: blackSquareFrom, to: blackSquareTo }, + ]); + expect(engine['promotingOnSquare']).toBeUndefined(); + }); +}); + +describe('Return player moves without those that cause his king to check', () => { + const whiteKing = new King(Side.WHITE); + const whiteRook = new Rook(Side.WHITE); + const blackKing = new King(Side.BLACK); + const blackRook = new Rook(Side.BLACK); + // const playerWhite = new Player(Side.WHITE); + + it(`Should return the same possible moves array if the king's move doesn't cause his check.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + const possibleMovesBeforeFiltration = [ + { column: 'A', row: 1 }, + { column: 'A', row: 3 }, + { column: 'B', row: 1 }, + { column: 'B', row: 2 }, + { column: 'B', row: 3 }, + ]; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = possibleMovesBeforeFiltration; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B8: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 1 }, + { column: 'A', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B3: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 1 }, + { column: 'B', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B3: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 1 }, + { column: 'B', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check but king cannot capture his enemy whose check possible moves of king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B3: blackRook, + B8: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [{ column: 'A', row: 1 }]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible king's moves array if the king is checked.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A7: blackRook, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'B', row: 1 }, + { column: 'B', row: 2 }, + { column: 'B', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible rook's moves array if the rook's move causes his king check`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A3: whiteRook, + A7: blackRook, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 3 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 4 }, + { column: 'A', row: 5 }, + { column: 'A', row: 6 }, + { column: 'A', row: 7 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return empty possible rook's moves array if the king is checked and rook's move causes his king check`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteRook, + A2: whiteKing, + A7: blackRook, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 1 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [] as Square[]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return empty possible king's moves array if it's checkmate`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A7: blackRook, + A8: blackKing, + B7: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [] as Square[]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); }); From 4f5cf9368e3ad80d1f4e197b8cee8512a50dc7bb Mon Sep 17 00:00:00 2001 From: Tomek <50457289+tomdworniczak@users.noreply.github.com> Date: Sun, 14 Feb 2021 23:17:02 +0100 Subject: [PATCH 120/134] Chess engine king was checked king was unchecked (#82) --- src/app/model/ChessEngine.ts | 65 ++++++++++++++++++-- src/app/model/ChessModel.ts | 6 +- src/app/model/KingWasChecked.ts | 8 +++ src/app/model/KingWasUnchecked.ts | 3 + src/app/model/MoveResult.ts | 7 +++ test/app/model/ChessEngine.spec.ts | 96 ++++++++++++++++++++++++++++++ 6 files changed, 176 insertions(+), 9 deletions(-) create mode 100644 src/app/model/KingWasChecked.ts create mode 100644 src/app/model/KingWasUnchecked.ts create mode 100644 src/app/model/MoveResult.ts diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 6b9cb89..acaae3c 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,22 +1,28 @@ import { ChessModel } from './ChessModel'; import { Row, Side, Square, SquareWithPiece } from './Types'; -import { Pawn, Piece } from './pieces'; +import { King, Pawn, Piece } from './pieces'; import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; import { PawnPromotionWasEnabled } from './PawnPromotionWasEnabled'; import { isDefined } from './HelperFunctions'; +import { KingWasChecked } from './KingWasChecked'; +import { KingWasUnchecked } from './KingWasUnchecked'; +import { MoveResult } from './MoveResult'; + +type CheckedKing = { kingSide: Side; position: Square }; export class ChessEngine implements ChessModel { private currentSide: Side = Side.WHITE; readonly squaresWithPiece: SquareWithPiece; private promotingOnSquare: Square | undefined; + private checkedKing: CheckedKing | undefined; constructor(private readonly board: Chessboard) { this.squaresWithPiece = board.squaresWithPiece; } - move(squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured | PawnPromotionWasEnabled)[] { + move(squareFrom: Square, squareTo: Square): MoveResult[] { const chosenPiece = this.board.onPositionPiece(squareFrom); if (!chosenPiece) { throw new Error('There is no piece on this square.'); @@ -30,6 +36,9 @@ export class ChessEngine implements ChessModel { if (!this.canMoveOnSquare(squareFrom, squareTo)) { throw new Error('Piece can not move to given square.'); } + if (this.willBeKingChecked(squareFrom, squareTo)) { + throw new Error('You must not make a move that will result in checking your king.'); + } const pieceWasMoved: PieceWasMoved = { eventType: 'PieceWasMoved', @@ -42,7 +51,17 @@ export class ChessEngine implements ChessModel { const pawnPromotionWasEnabled = this.pawnPromotionWasEnabled(chosenPiece, squareTo); this.onPawnPromotionWasEnabled(pawnPromotionWasEnabled); this.onPieceWasMoved(pieceWasMoved); - return [pieceWasMoved, pieceWasCaptured, pawnPromotionWasEnabled].filter(this.hasOccurred); + + const kingWasChecked = this.kingWasChecked(chosenPiece); + if (kingWasChecked) { + this.onKingWasChecked(kingWasChecked); + } + const kingWasUnchecked = this.kingWasUnchecked(); + if (kingWasUnchecked) { + this.onKingWasUnchecked(kingWasUnchecked); + } + + return [pieceWasCaptured, pieceWasMoved, kingWasChecked, kingWasUnchecked, pawnPromotionWasEnabled].filter(this.hasOccurred); } private pieceWasCaptured(squareTo: Square, chosenPiece: Piece): PieceWasCaptured | undefined { @@ -70,7 +89,7 @@ export class ChessEngine implements ChessModel { private onPieceWasMoved(event: PieceWasMoved): void { this.board.movePiece(event.from, event.to); if (!this.promotingOnSquare) { - this.currentSide = this.changeTurn(event.piece.side); + this.currentSide = this.anotherSide(event.piece.side); } } @@ -87,7 +106,7 @@ export class ChessEngine implements ChessModel { ); } - private changeTurn(side: Side): Side { + private anotherSide(side: Side): Side { return side === Side.WHITE ? Side.BLACK : Side.WHITE; } @@ -149,4 +168,40 @@ export class ChessEngine implements ChessModel { private hasOccurred(x: T | undefined): x is T { return typeof x !== 'undefined' && x !== null; } + + private onKingWasChecked(event: KingWasChecked): void { + this.checkedKing = { kingSide: event.king.side, position: event.onSquare }; + } + + private kingWasChecked(chosenPiece: Piece): KingWasChecked | undefined { + const kingsSide = chosenPiece.side === Side.WHITE ? Side.BLACK : Side.WHITE; + const kingPosition = this.kingPosition(this.board, kingsSide); + if (!kingPosition) { + return undefined; + } + const isKingChecked = this.isKingChecked(this.board, kingsSide); + return isKingChecked + ? { + eventType: 'KingWasChecked', + king: new King(kingsSide), + onSquare: kingPosition, + } + : undefined; + } + + private kingWasUnchecked(): KingWasUnchecked | undefined { + if (!this.checkedKing) { + return undefined; + } + const isKingChecked = this.isKingChecked(this.board, this.checkedKing.kingSide); + return !isKingChecked + ? { + eventType: 'KingWasUnchecked', + } + : undefined; + } + + private onKingWasUnchecked(event: KingWasUnchecked): void { + this.checkedKing = undefined; + } } diff --git a/src/app/model/ChessModel.ts b/src/app/model/ChessModel.ts index 24b0107..83ee49b 100644 --- a/src/app/model/ChessModel.ts +++ b/src/app/model/ChessModel.ts @@ -1,10 +1,8 @@ import { Square, SquareWithPiece } from './Types'; -import { PieceWasMoved } from './PieceWasMoved'; -import { PieceWasCaptured } from './PieceWasCaptured'; -import { PawnPromotionWasEnabled } from './PawnPromotionWasEnabled'; +import { MoveResult } from './MoveResult'; export interface ChessModel { readonly squaresWithPiece: SquareWithPiece; possibleMoves(position: Square): Square[]; - move(squareFrom: Square, squareTo: Square): (PieceWasMoved | PieceWasCaptured | PawnPromotionWasEnabled)[]; + move(squareFrom: Square, squareTo: Square): MoveResult[]; } diff --git a/src/app/model/KingWasChecked.ts b/src/app/model/KingWasChecked.ts new file mode 100644 index 0000000..49bd0e1 --- /dev/null +++ b/src/app/model/KingWasChecked.ts @@ -0,0 +1,8 @@ +import { King } from './pieces'; +import { Square } from './Types'; + +export type KingWasChecked = { + eventType: 'KingWasChecked'; + king: King; + onSquare: Square; +}; diff --git a/src/app/model/KingWasUnchecked.ts b/src/app/model/KingWasUnchecked.ts new file mode 100644 index 0000000..813aa7b --- /dev/null +++ b/src/app/model/KingWasUnchecked.ts @@ -0,0 +1,3 @@ +export type KingWasUnchecked = { + eventType: 'KingWasUnchecked'; +}; diff --git a/src/app/model/MoveResult.ts b/src/app/model/MoveResult.ts new file mode 100644 index 0000000..c93e662 --- /dev/null +++ b/src/app/model/MoveResult.ts @@ -0,0 +1,7 @@ +import { PieceWasMoved } from './PieceWasMoved'; +import { PieceWasCaptured } from './PieceWasCaptured'; +import { KingWasChecked } from './KingWasChecked'; +import { KingWasUnchecked } from './KingWasUnchecked'; +import { PawnPromotionWasEnabled } from './PawnPromotionWasEnabled'; + +export type MoveResult = PieceWasMoved | PieceWasCaptured | KingWasChecked | KingWasUnchecked | PawnPromotionWasEnabled; diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 465ea07..0568ee5 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -348,4 +348,100 @@ describe('Return player moves without those that cause his king to check', () => const expectedResult = [] as Square[]; expect(returnedResult).toIncludeSameMembers(expectedResult); }); + + it('After white players move, a black king is in white piece range, then black king is checked', () => { + const whitePiece = new Bishop(Side.WHITE); + const blackPiece = new King(Side.BLACK); + const boardWithPieces: SquareWithPiece = { D8: blackPiece, F4: whitePiece }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const bishopSquareFrom: Square = { column: 'F', row: 4 }; + const bishopSquareTo: Square = { column: 'G', row: 5 }; + + expect(engine.move(bishopSquareFrom, bishopSquareTo)).toIncludeSameMembers([ + { + eventType: 'PieceWasMoved', + piece: whitePiece, + from: bishopSquareFrom, + to: bishopSquareTo, + }, + { + eventType: 'KingWasChecked', + king: blackPiece, + onSquare: { column: 'D', row: 8 }, + }, + ]); + }); + + it('After black players move his king, black king is no longer checked', () => { + const whitePiece = new Bishop(Side.WHITE); + const blackPiece = new King(Side.BLACK); + const boardWithPieces: SquareWithPiece = { D8: blackPiece, F4: whitePiece }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'D', row: 8 }; + const kingSquareTo: Square = { column: 'D', row: 7 }; + const bishopSquareFrom: Square = { column: 'F', row: 4 }; + const bishopSquareTo: Square = { column: 'G', row: 5 }; + + engine.move(bishopSquareFrom, bishopSquareTo); + + expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ + { + eventType: 'PieceWasMoved', + piece: blackPiece, + from: kingSquareFrom, + to: kingSquareTo, + }, + { + eventType: 'KingWasUnchecked', + }, + ]); + }); + + it('After black players move piece to cover king, black king is no longer checked', () => { + const whiteBishop = new Bishop(Side.WHITE); + const blackKing = new King(Side.BLACK); + const blackQueen = new Queen(Side.BLACK); + const boardWithPieces: SquareWithPiece = { D8: blackKing, E8: blackQueen, F4: whiteBishop }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const queenSquareFrom: Square = { column: 'E', row: 8 }; + const queenSquareTo: Square = { column: 'E', row: 7 }; + const bishopSquareFrom: Square = { column: 'F', row: 4 }; + const bishopSquareTo: Square = { column: 'G', row: 5 }; + + engine.move(bishopSquareFrom, bishopSquareTo); + + expect(engine.move(queenSquareFrom, queenSquareTo)).toIncludeSameMembers([ + { + eventType: 'PieceWasMoved', + piece: blackQueen, + from: queenSquareFrom, + to: queenSquareTo, + }, + { + eventType: 'KingWasUnchecked', + }, + ]); + }); + + it('Should throw an Error if player wants to make move that will result in check of his king', () => { + const whiteBishop = new Bishop(Side.WHITE); + const blackKing = new King(Side.BLACK); + const blackQueen = new Queen(Side.BLACK); + const boardWithPieces: SquareWithPiece = { D8: blackKing, E7: blackQueen, F4: whiteBishop }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const queenSquareFrom: Square = { column: 'E', row: 7 }; + const queenSquareTo: Square = { column: 'E', row: 8 }; + const bishopSquareFrom: Square = { column: 'F', row: 4 }; + const bishopSquareTo: Square = { column: 'G', row: 5 }; + + engine.move(bishopSquareFrom, bishopSquareTo); + + expect(() => engine.move(queenSquareFrom, queenSquareTo)).toThrowError( + 'You must not make a move that will result in checking your king.', + ); + }); }); From 61056c19c327d988c9e203b80d3e234e2dfb209b Mon Sep 17 00:00:00 2001 From: Piotr Witold Rynio <41823689+PiotrWR@users.noreply.github.com> Date: Mon, 15 Feb 2021 17:11:10 +0100 Subject: [PATCH 121/134] Fix describes in branch nr 42 (#86) --- test/app/model/ChessEngine.spec.ts | 356 ++++++++++++++--------------- 1 file changed, 178 insertions(+), 178 deletions(-) diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 0568ee5..53ffa55 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -168,185 +168,185 @@ describe('Chess Engine', () => { ]); expect(engine['promotingOnSquare']).toBeUndefined(); }); -}); - -describe('Return player moves without those that cause his king to check', () => { - const whiteKing = new King(Side.WHITE); - const whiteRook = new Rook(Side.WHITE); - const blackKing = new King(Side.BLACK); - const blackRook = new Rook(Side.BLACK); - // const playerWhite = new Player(Side.WHITE); - - it(`Should return the same possible moves array if the king's move doesn't cause his check.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - const possibleMovesBeforeFiltration = [ - { column: 'A', row: 1 }, - { column: 'A', row: 3 }, - { column: 'B', row: 1 }, - { column: 'B', row: 2 }, - { column: 'B', row: 3 }, - ]; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = possibleMovesBeforeFiltration; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible moves array if the king's move causes his check.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - B8: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'A', row: 1 }, - { column: 'A', row: 3 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - B3: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'A', row: 1 }, - { column: 'B', row: 3 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - B3: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'A', row: 1 }, - { column: 'B', row: 3 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - it(`Should return possible moves array if the king's move causes his check but king cannot capture his enemy whose check possible moves of king.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A8: blackKing, - B3: blackRook, - B8: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [{ column: 'A', row: 1 }]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible king's moves array if the king is checked.`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A7: blackRook, - A8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'B', row: 1 }, - { column: 'B', row: 2 }, - { column: 'B', row: 3 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return possible rook's moves array if the rook's move causes his king check`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A3: whiteRook, - A7: blackRook, - A8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 3 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [ - { column: 'A', row: 4 }, - { column: 'A', row: 5 }, - { column: 'A', row: 6 }, - { column: 'A', row: 7 }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return empty possible rook's moves array if the king is checked and rook's move causes his king check`, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteRook, - A2: whiteKing, - A7: blackRook, - A8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 1 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [] as Square[]; - expect(returnedResult).toIncludeSameMembers(expectedResult); - }); - - it(`Should return empty possible king's moves array if it's checkmate`, () => { - const boardWithPieces: SquareWithPiece = { - A2: whiteKing, - A7: blackRook, - A8: blackKing, - B7: blackRook, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const movedPiecePosition: Square = { column: 'A', row: 2 }; - - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); - - const expectedResult = [] as Square[]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + describe('Return player moves without those that cause his king to check', () => { + const whiteKing = new King(Side.WHITE); + const whiteRook = new Rook(Side.WHITE); + const blackKing = new King(Side.BLACK); + const blackRook = new Rook(Side.BLACK); + // const playerWhite = new Player(Side.WHITE); + + it(`Should return the same possible moves array if the king's move doesn't cause his check.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + const possibleMovesBeforeFiltration = [ + { column: 'A', row: 1 }, + { column: 'A', row: 3 }, + { column: 'B', row: 1 }, + { column: 'B', row: 2 }, + { column: 'B', row: 3 }, + ]; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = possibleMovesBeforeFiltration; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B8: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 1 }, + { column: 'A', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B3: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 1 }, + { column: 'B', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B3: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 1 }, + { column: 'B', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible moves array if the king's move causes his check but king cannot capture his enemy whose check possible moves of king.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A8: blackKing, + B3: blackRook, + B8: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [{ column: 'A', row: 1 }]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible king's moves array if the king is checked.`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A7: blackRook, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'B', row: 1 }, + { column: 'B', row: 2 }, + { column: 'B', row: 3 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return possible rook's moves array if the rook's move causes his king check`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A3: whiteRook, + A7: blackRook, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 3 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [ + { column: 'A', row: 4 }, + { column: 'A', row: 5 }, + { column: 'A', row: 6 }, + { column: 'A', row: 7 }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return empty possible rook's moves array if the king is checked and rook's move causes his king check`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteRook, + A2: whiteKing, + A7: blackRook, + A8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 1 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [] as Square[]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`Should return empty possible king's moves array if it's checkmate`, () => { + const boardWithPieces: SquareWithPiece = { + A2: whiteKing, + A7: blackRook, + A8: blackKing, + B7: blackRook, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const movedPiecePosition: Square = { column: 'A', row: 2 }; + + const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + + const expectedResult = [] as Square[]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); }); it('After white players move, a black king is in white piece range, then black king is checked', () => { From 4360d8905d222bdbebd9c5bfd969424ac0d85293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82?= Date: Mon, 15 Feb 2021 19:28:30 +0100 Subject: [PATCH 122/134] View/#62 piece movement (#77) --- src/app/presenter/ChessBoardPresenter.ts | 46 +++++++++++++- src/app/view/ChessBoardView.ts | 3 + src/app/view/console/ConsoleChessBoardView.ts | 18 ------ src/app/view/web/WebChessView.ts | 20 ++++++ test/app/model/ChessBoard.spec.ts | 5 +- .../app/presenter/ChessBoardPresenter.spec.ts | 55 +++++++++++++++- test/app/view/web/WebChessBoardView.spec.ts | 63 ++++++++++++++++++- 7 files changed, 183 insertions(+), 27 deletions(-) delete mode 100644 src/app/view/console/ConsoleChessBoardView.ts diff --git a/src/app/presenter/ChessBoardPresenter.ts b/src/app/presenter/ChessBoardPresenter.ts index 9c43580..f7d5806 100644 --- a/src/app/presenter/ChessBoardPresenter.ts +++ b/src/app/presenter/ChessBoardPresenter.ts @@ -1,14 +1,17 @@ import { ChessBoardView } from '../view/ChessBoardView'; import { Position } from './Position'; -import { ChessModel } from '../model'; +import { ChessModel, columns, Row, Square } from '../model'; import { SquareWasClicked } from '../view/events/SquareWasClicked'; -import { columns, Row, Square } from '../model'; +import { MoveResult } from '../model/MoveResult'; export class ChessBoardPresenter { constructor(private readonly view: ChessBoardView, private readonly chessModel: ChessModel) { view.listenOn('SquareWasClicked', (event) => this.onSquareWasClicked(event.position)); } + private lastPossibleMoves: string[] = []; + private lastMoveAsPosition: Position = { x: 0, y: 0 }; + onSquareWasClicked(position: Position): void { this.view.hideSelection(); this.view.showSelectedPiece(this.translatePositionToAlgebraicNotation(position)); @@ -16,6 +19,8 @@ export class ChessBoardPresenter { this.view.hideAllAvailableMoves(); const squaresStringArray = this.getPossibleMoves(position); this.view.showAvailableMoves(squaresStringArray); + + this.pieceMovement(position, squaresStringArray); } startGame(): void { @@ -31,4 +36,41 @@ export class ChessBoardPresenter { const square: Square = { column: columns[position.x - 1], row: position.y as Row }; return `${square.column.toLowerCase()}${square.row}`; } + + private translatePositionToSquareNotation(position: Position): Square { + return { column: columns[position.x - 1], row: position.y as Row }; + } + + private translateSquareToAlgebraicNotation(square: Square): string { + return `${square.column.toLowerCase()}${square.row}`; + } + + private onEvents(events: MoveResult[]): void { + events.forEach((event) => this.onEvent(event)); + } + + private onEvent(event: MoveResult) { + switch (event.eventType) { + case 'PieceWasCaptured': + this.view.capturePiece(this.translateSquareToAlgebraicNotation(event.onSquare)); + break; + case 'PieceWasMoved': + this.view.movePiece(this.translateSquareToAlgebraicNotation(event.from), this.translateSquareToAlgebraicNotation(event.to)); + break; + } + } + + private pieceMovement(position: Position, squaresStringArray: string[]) { + if (this.lastPossibleMoves.includes(this.translatePositionToAlgebraicNotation(position))) { + const moveEvents = this.chessModel.move( + this.translatePositionToSquareNotation(this.lastMoveAsPosition), + this.translatePositionToSquareNotation(position), + ); + this.onEvents(moveEvents); + this.view.hideSelection(); + this.view.hideAllAvailableMoves(); + } + this.lastMoveAsPosition = position; + this.lastPossibleMoves = squaresStringArray; + } } diff --git a/src/app/view/ChessBoardView.ts b/src/app/view/ChessBoardView.ts index 298e140..8182ec4 100644 --- a/src/app/view/ChessBoardView.ts +++ b/src/app/view/ChessBoardView.ts @@ -12,4 +12,7 @@ export interface ChessBoardView extends ViewEventSource { showSelectedPiece(id: string): void; hideSelection(): void; + + movePiece(squareFrom: string, squareTo: string): void; + capturePiece(onSquare: string): void; } diff --git a/src/app/view/console/ConsoleChessBoardView.ts b/src/app/view/console/ConsoleChessBoardView.ts deleted file mode 100644 index 939517c..0000000 --- a/src/app/view/console/ConsoleChessBoardView.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ChessBoardView } from '../ChessBoardView'; -import { ViewEvent } from '../events/ViewEvent'; - -export class ConsoleChessBoardView implements ChessBoardView { - listenOn(eventType: EventType['eventType'], reaction: (event: EventType) => void): void {} - - showChessBoard(): void { - console.log('Tutaj bysmy wyswietlili szachownice na konsoli'); - } - - showSelectedPiece(id: string): void {} - - hideAllAvailableMoves(): void {} - - hideSelection(): void {} - - showAvailableMoves(squaresToHighlight: string[]): void {} -} diff --git a/src/app/view/web/WebChessView.ts b/src/app/view/web/WebChessView.ts index d388ea0..aadb410 100644 --- a/src/app/view/web/WebChessView.ts +++ b/src/app/view/web/WebChessView.ts @@ -45,6 +45,26 @@ export class WebChessView implements ChessBoardView { }); } + movePiece(squareFrom: string, squareTo: string): void { + const divFrom = this.parent.querySelector(`#${squareFrom}`); + const divTo = this.parent.querySelector(`#${squareTo}`); + const pieceImage = divFrom?.firstChild; + + if (pieceImage) { + divFrom?.removeChild(pieceImage); + divTo?.appendChild(pieceImage); + } + } + + capturePiece(onSquare: string): void { + const divFrom = this.parent.querySelector(`#${onSquare}`); + const pieceImage = divFrom?.firstChild; + + if (pieceImage) { + divFrom?.removeChild(pieceImage); + } + } + private renderPiecesOnBoard(piecesPositions: PiecesBoardPositions) { Object.keys(piecesPositions) .map((square) => { diff --git a/test/app/model/ChessBoard.spec.ts b/test/app/model/ChessBoard.spec.ts index 72210fa..1f41587 100644 --- a/test/app/model/ChessBoard.spec.ts +++ b/test/app/model/ChessBoard.spec.ts @@ -1,7 +1,4 @@ -import { Chessboard } from '../../../src/app/model/Chessboard'; -import { Pawn } from '../../../src/app/model/pieces/Pawn'; -import { Rook } from '../../../src/app/model/pieces/Rook'; -import { Side, Square, SquareWithPiece } from '../../../src/app/model/Types'; +import { Chessboard, Pawn, Rook, Side, Square, SquareWithPiece } from '../../../src/app/model'; describe('ChessBoard', () => { const pawn: Pawn = new Pawn(Side.WHITE); diff --git a/test/app/presenter/ChessBoardPresenter.spec.ts b/test/app/presenter/ChessBoardPresenter.spec.ts index 9c8f87b..3b6cd15 100644 --- a/test/app/presenter/ChessBoardPresenter.spec.ts +++ b/test/app/presenter/ChessBoardPresenter.spec.ts @@ -1,12 +1,12 @@ import '@testing-library/jest-dom'; import { ChessBoardView } from '../../../src/app/view/ChessBoardView'; -import { ChessModel, Square } from '../../../src/app/model'; +import { ChessModel, Pawn, Side, Square } from '../../../src/app/model'; import { ChessBoardPresenter } from '../../../src/app/presenter/ChessBoardPresenter'; import { ViewEventBus } from '../../../src/app/view/events/ViewEventBus'; import { ViewEvent } from '../../../src/app/view/events/ViewEvent'; import { SquareWasClicked } from '../../../src/app/view/events/SquareWasClicked'; import { InMemoryViewEventBus } from '../../../src/app/view/events/InMemoryViewEventBus'; -import { PIECES_START_POSITION } from '../../../src/app/model/constances/PiecesStartPosition'; +import { PIECES_START_POSITION } from '../../../src/app/model'; describe('ChessBoardPresenter', () => { it('when square A1 was clicked on the view, then selected piece should be shown with its possible moves', () => { @@ -43,6 +43,55 @@ describe('ChessBoardPresenter', () => { expect(view.showChessBoard).toHaveBeenCalledWith(PIECES_START_POSITION); }); + + it('when game starts and player clicked square A2 and A3, then call movePiece method on view', () => { + const pawn: Pawn = new Pawn(Side.WHITE); + const viewEvents: ViewEventBus = new InMemoryViewEventBus(); + const view: ChessBoardView = chessBoardViewMock(viewEvents); + const model: ChessModel = { + squaresWithPiece: PIECES_START_POSITION, + move: (squareFrom, squareTo) => { + return [{ eventType: 'PieceWasMoved', piece: pawn, from: squareFrom, to: squareTo }]; + }, + possibleMoves: () => [ + { column: 'A', row: 3 }, + { column: 'A', row: 4 }, + ], + }; + const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); + + viewEvents.publish(new SquareWasClicked({ x: 1, y: 2 })); + viewEvents.publish(new SquareWasClicked({ x: 1, y: 3 })); + + expect(view.movePiece).toHaveBeenCalledWith('a2', 'a3'); + }); + + it('white pawn on D4, black pawn on C5 and white player captures black pawn on C5, call movePiece and capturePiece on view ', () => { + const whitePawn: Pawn = new Pawn(Side.WHITE); + const blackPawn: Pawn = new Pawn(Side.BLACK); + const viewEvents: ViewEventBus = new InMemoryViewEventBus(); + const view: ChessBoardView = chessBoardViewMock(viewEvents); + const model: ChessModel = { + squaresWithPiece: { D4: whitePawn, C5: blackPawn }, + move: (squareFrom, squareTo) => { + return [ + { eventType: 'PieceWasMoved', piece: whitePawn, from: squareFrom, to: squareTo }, + { eventType: 'PieceWasCaptured', piece: blackPawn, onSquare: squareTo }, + ]; + }, + possibleMoves: () => [ + { column: 'D', row: 5 }, + { column: 'C', row: 5 }, + ], + }; + const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); + + viewEvents.publish(new SquareWasClicked({ x: 4, y: 4 })); + viewEvents.publish(new SquareWasClicked({ x: 3, y: 5 })); + + expect(view.capturePiece).toHaveBeenCalledWith('c5'); + expect(view.movePiece).toHaveBeenCalledWith('d4', 'c5'); + }); }); function chessBoardViewMock(viewEventBus: ViewEventBus): ChessBoardView { @@ -55,6 +104,8 @@ function chessBoardViewMock(viewEventBus: ViewEventBus): ChessBoardView { hideSelection: jest.fn(), showAvailableMoves: jest.fn(), hideAllAvailableMoves: jest.fn(), + movePiece: jest.fn(), + capturePiece: jest.fn(), }; } diff --git a/test/app/view/web/WebChessBoardView.spec.ts b/test/app/view/web/WebChessBoardView.spec.ts index d8076ec..639bb11 100644 --- a/test/app/view/web/WebChessBoardView.spec.ts +++ b/test/app/view/web/WebChessBoardView.spec.ts @@ -6,7 +6,7 @@ import { WebChessView } from '../../../../src/app/view/web/WebChessView'; import { ViewEventBus } from '../../../../src/app/view/events/ViewEventBus'; import { SquareWasClicked } from '../../../../src/app/view/events/SquareWasClicked'; import { PiecesBoardPositions } from '../../../../src/app/view/Types'; -import { Side } from '../../../../src/app/model/Types'; +import { Side } from '../../../../src/app/model'; describe('Web Chess Board View with starting pieces positions', () => { const publishViewEventMock = jest.fn(); @@ -133,3 +133,64 @@ describe('Web Chess Board View with starting pieces positions', () => { expect(a5Square).not.toHaveClass('square--possibleMove'); }); }); + +describe('Web Chess Board View during move and capture methods', () => { + beforeEach(() => { + document.body.innerHTML = ''; + }); + const publishViewEventMock = jest.fn(); + const viewEventBus: ViewEventBus = { + listenOn: jest.fn(), + publish: publishViewEventMock, + }; + const chessBoardView: ChessBoardView = new WebChessView(viewEventBus); + + it('move pawn from square A2 to A3', async () => { + const piecesPositions: PiecesBoardPositions = { + A2: { name: 'Pawn', side: Side.WHITE }, + }; + chessBoardView.showChessBoard(piecesPositions); + const a2Square = await screen.findByTestId('a2'); + const a3Square = await screen.findByTestId('a3'); + const a2WhitePawn = await screen.findByTestId('a2-img'); + + chessBoardView.movePiece('a2', 'a3'); + + expect(a2Square).not.toContainElement(a2WhitePawn); + expect(a3Square).toContainElement(a2WhitePawn); + }); + + it('move queen from square D1 to H5 when there is nothing on its way', async () => { + const piecesPositions: PiecesBoardPositions = { + D1: { name: 'Queen', side: Side.WHITE }, + }; + chessBoardView.showChessBoard(piecesPositions); + const d1Square = await screen.findByTestId('d1'); + const h5Square = await screen.findByTestId('h5'); + const d1WhiteQueen = await screen.findByTestId('d1-img'); + + chessBoardView.movePiece('d1', 'h5'); + + expect(d1Square).not.toContainElement(d1WhiteQueen); + expect(h5Square).toContainElement(d1WhiteQueen); + }); + + it('move and capture the black pawn while moving from square E4 to D5', async () => { + const piecesPositions: PiecesBoardPositions = { + E4: { name: 'Pawn', side: Side.WHITE }, + D5: { name: 'Pawn', side: Side.BLACK }, + }; + chessBoardView.showChessBoard(piecesPositions); + const e4Square = await screen.findByTestId('e4'); + const d5Square = await screen.findByTestId('d5'); + const e4WhitePawn = await screen.findByTestId('e4-img'); + const d5BlackPawn = await screen.findByTestId('d5-img'); + + chessBoardView.capturePiece('d5'); + chessBoardView.movePiece('e4', 'd5'); + + expect(d5Square).not.toContainElement(d5BlackPawn); + expect(e4Square).not.toContainElement(e4WhitePawn); + expect(d5Square).toContainElement(e4WhitePawn); + }); +}); From 5a9257b995ff50f2c0c85ba66237f7a86e579c9e Mon Sep 17 00:00:00 2001 From: Piotr Witold Rynio <41823689+PiotrWR@users.noreply.github.com> Date: Tue, 16 Feb 2021 14:39:48 +0100 Subject: [PATCH 123/134] #64 & #88 - Event Checkmate Has Occurred & Stalemate Has Occurred (#87) * Initiall commit * Initiall commit * Add types * Fix name of pieceMovesNotCausingAllyKingCheck function * Add first test * Add second test * Finishtest * Add CheckmatedKing variable and isCheckmatedKing function * Delete last added function: isCheckmatedKing * After code review | Update tests * Add empty method in ChessEngine. Add code in move() method * Fix last commit * Add new test * Delete doubled test * Fix bug in test * Finish checkmateHasOccurred function, In progress: is PossibleMoves * Finish all without cleaning code. * EsLint CoderReview | Update * Add tests for Stalemate Has Occurred * Add type for Stalemate Has Occurred * Fix | Fix test for Stalemate Has Occurred * Fix | Fix test from others tasks because this tests had bug with stalemate event * Finish stalemate event service * Eslint CodeReview | Update --- package-lock.json | 13953 +++++++++++++++++++++++- src/app/model/CheckmateHasOccurred.ts | 8 + src/app/model/ChessEngine.ts | 56 +- src/app/model/MoveResult.ts | 11 +- src/app/model/StalemateHasOccurred.ts | 8 + test/app/model/ChessEngine.spec.ts | 228 +- 6 files changed, 14238 insertions(+), 26 deletions(-) create mode 100644 src/app/model/CheckmateHasOccurred.ts create mode 100644 src/app/model/StalemateHasOccurred.ts diff --git a/package-lock.json b/package-lock.json index 76a1c18..c7603f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,13943 @@ { "name": "coderscamp2020.project.typescript.chess", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "coderscamp2020.project.typescript.chess", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "eslint-config-prettier": "^7.2.0", + "lodash": "^4.17.20", + "parcel": "^1.12.4", + "regenerator-runtime": "^0.13.7", + "uuid": "^8.3.0" + }, + "devDependencies": { + "@babel/core": "^7.11.6", + "@babel/preset-env": "^7.11.5", + "@testing-library/dom": "^7.26.6", + "@testing-library/jest-dom": "^5.11.6", + "@testing-library/user-event": "^12.2.2", + "@types/jest": "^26.0.20", + "@types/lodash": "^4.14.168", + "@types/node": "^14.14.22", + "@typescript-eslint/eslint-plugin": "^4.14.0", + "@typescript-eslint/parser": "^4.14.0", + "babel-jest": "^26.5.0", + "cssnano": "^4.1.10", + "eslint": "^7.18.0", + "husky": "^4.3.6", + "jest": "^26.6.3", + "jest-extended": "^0.11.5", + "jest-fetch-mock": "^3.0.3", + "msw": "^0.21.3", + "parcel-bundler": "^1.12.4", + "parcel-plugin-static-files-copy": "^2.5.0", + "prettier": "2.2.1", + "pretty-quick": "^3.1.0", + "rimraf": "^3.0.2", + "sass": "^1.30.0", + "ts-jest": "^26.4.4", + "tsc-watch": "^4.2.9", + "typescript": "^4.1.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + }, + "node_modules/@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dependencies": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "dependencies": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dependencies": { + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dependencies": { + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dependencies": { + "@babel/types": "^7.12.11" + } + }, + "node_modules/@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==" + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==" + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz", + "integrity": "sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.10.tgz", + "integrity": "sha512-0ti12wLTLeUIzu9U7kjqIn4MyOL7+Wibc7avsHhj4o1l5C0ATs8p2IMHrVYjm9t9wzhfEO6S3kxax0Rpdo8LTg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", + "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.12.10", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-jsx": "^7.12.1", + "@babel/types": "^7.12.12" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "dependencies": { + "regenerator-transform": "^0.14.2" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "dependencies": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "node_modules/@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", + "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dependencies": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@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 + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@eslint/eslintrc/node_modules/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, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@eslint/eslintrc/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==" + }, + "node_modules/@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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/core/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/core/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "node-notifier": "^8.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/source-map/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@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, + "dependencies": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@jest/transform/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/@jest/transform/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.4", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.scandir/node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.4", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@open-draft/until": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-1.0.3.tgz", + "integrity": "sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==", + "dev": true + }, + "node_modules/@parcel/fs": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz", + "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", + "dependencies": { + "@parcel/utils": "^1.11.0", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.2" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@parcel/fs/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/@parcel/logger": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz", + "integrity": "sha512-9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==", + "dependencies": { + "@parcel/workers": "^1.11.0", + "chalk": "^2.1.0", + "grapheme-breaker": "^0.3.2", + "ora": "^2.1.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@parcel/logger/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/logger/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/logger/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@parcel/logger/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/@parcel/logger/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/logger/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@parcel/utils": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz", + "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz", + "integrity": "sha512-od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==", + "dependencies": { + "@parcel/utils": "^1.11.0", + "chokidar": "^2.1.5" + } + }, + "node_modules/@parcel/workers": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz", + "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==", + "dependencies": { + "@parcel/utils": "^1.11.0", + "physical-cpu-count": "^2.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@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, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@testing-library/dom": { + "version": "7.29.4", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.29.4.tgz", + "integrity": "sha512-CtrJRiSYEfbtNGtEsd78mk1n1v2TUbeABlNIcOCJdDfkN5/JTOwQEbbQpoSRxGqzcWPgStMvJ4mNolSuBRv1NA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.4", + "lz-string": "^1.4.4", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.11.9", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.11.9.tgz", + "integrity": "sha512-Mn2gnA9d1wStlAIT2NU8J15LNob0YFBVjs2aEQ3j8rsfRQo+lAs7/ui1i2TGaJjapLmuNPLTsrm+nPjmZDwpcQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^4.2.2", + "chalk": "^3.0.0", + "css": "^3.0.0", + "css.escape": "^1.5.1", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/user-event": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.6.0.tgz", + "integrity": "sha512-FNEH/HLmOk5GO70I52tKjs7WvGYckeE/SrnLX/ip7z2IGbffyd5zOUM1tZ10vsTphqm+VbDFI0oaXu0wcfQsAQ==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/@types/aria-query": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz", + "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==", + "dev": true + }, + "node_modules/@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, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@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, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==", + "dev": true + }, + "node_modules/@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, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@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 + }, + "node_modules/@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, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@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, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "26.0.20", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.20.tgz", + "integrity": "sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA==", + "dev": true, + "dependencies": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.14.168", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", + "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", + "dev": true + }, + "node_modules/@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 + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.6.tgz", + "integrity": "sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==", + "dev": true + }, + "node_modules/@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + }, + "node_modules/@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 + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.9.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz", + "integrity": "sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ==", + "dev": true, + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/yargs": { + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", + "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz", + "integrity": "sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.14.0", + "@typescript-eslint/scope-manager": "4.14.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz", + "integrity": "sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz", + "integrity": "sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.14.0", + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/typescript-estree": "4.14.0", + "debug": "^4.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz", + "integrity": "sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz", + "integrity": "sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz", + "integrity": "sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.14.0", + "@typescript-eslint/visitor-keys": "4.14.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz", + "integrity": "sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.14.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-to-html": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", + "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", + "dependencies": { + "entities": "^1.1.2" + }, + "bin": { + "ansi-to-html": "bin/ansi-to-html" + }, + "engines": { + "node": "*" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/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=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + } + }, + "node_modules/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, + "dependencies": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon-walk": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz", + "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=", + "dependencies": { + "babel-runtime": "^6.11.6", + "babel-types": "^6.15.0", + "lodash.clone": "^4.5.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brfs": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", + "dependencies": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" + }, + "bin": { + "brfs": "bin/cmd.js" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/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==" + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/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==" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserify-zlib/node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/browserslist": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", + "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", + "dependencies": { + "caniuse-lite": "^1.0.30001173", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.634", + "escalade": "^3.1.1", + "node-releases": "^1.1.69" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/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==" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "engines": { + "node": ">=4" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001178", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001178.tgz", + "integrity": "sha512-VtdZLC0vsXykKni8Uztx45xynytOi71Ufx9T8kHptSw9AL4dpqailUJJHavttuzUe1KYuBYtChiWv+BAb7mPmQ==" + }, + "node_modules/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, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/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 + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cliui/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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 + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dependencies": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "node_modules/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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/color-string": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", + "dev": true + }, + "node_modules/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==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "hasInstallScript": true + }, + "node_modules/core-js-compat": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", + "dependencies": { + "browserslist": "^4.16.1", + "semver": "7.0.0" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-js-pure": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", + "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==", + "dev": true, + "hasInstallScript": true + }, + "node_modules/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=" + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.1" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dependencies": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "engines": { + "node": ">4" + } + }, + "node_modules/css-modules-loader-core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", + "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", + "dependencies": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.1", + "postcss-modules-extract-imports": "1.1.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/chalk/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/postcss": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", + "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", + "dependencies": { + "chalk": "^1.1.3", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-modules-loader-core/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s=", + "dev": true + }, + "node_modules/css/node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dependencies": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dependencies": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dependencies": { + "cssom": "0.3.x" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/deasync": { + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz", + "integrity": "sha512-kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + }, + "engines": { + "node": ">=0.11.0" + } + }, + "node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/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=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/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=" + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/defaults/node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/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==", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz", + "integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", + "engines": { + "node": ">=4.6.0" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.641", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.641.tgz", + "integrity": "sha512-b0DLhsHSHESC1I+Nx6n4w4Lr61chMd3m/av1rZQhS2IXTzaS5BMM5N+ldWdMIlni9CITMRM09m8He4+YV/92TA==" + }, + "node_modules/elliptic": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/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 + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/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, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "node_modules/envinfo": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", + "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-abstract/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "node_modules/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==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/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=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "dependencies": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.3.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.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "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.20", + "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": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/eslint-config-prettier": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz", + "integrity": "sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==", + "bin": { + "eslint-config-prettier": "bin/cli.js" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/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, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-utils/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/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, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "node_modules/events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/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 + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "dev": true, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/falafel": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", + "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", + "dependencies": { + "acorn": "^7.1.1", + "foreach": "^2.0.5", + "isarray": "^2.0.1", + "object-keys": "^1.0.6" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/falafel/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/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==" + }, + "node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "node_modules/fastq": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-versions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", + "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", + "dev": true, + "dependencies": { + "semver-regex": "^3.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/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==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/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 + }, + "node_modules/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==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/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, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "node_modules/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, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globby/node_modules/@nodelib/fs.stat": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/globby/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/fast-glob": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/globby/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "node_modules/grapheme-breaker": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", + "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", + "dependencies": { + "brfs": "^1.2.0", + "unicode-trie": "^0.3.1" + } + }, + "node_modules/graphql": { + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.4.0.tgz", + "integrity": "sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==", + "dev": true, + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/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 + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/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==" + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/headers-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/headers-utils/-/headers-utils-1.2.0.tgz", + "integrity": "sha512-4/BMXcWrJErw7JpM87gF8MNEXcIMLzepYZjNRv/P9ctgupl2Ywa3u1PgHtNhSRq84bHH9Ndlkdy7bSi+bZ9I9A==", + "dev": true + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "node_modules/html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/html-tags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz", + "integrity": "sha1-x43mW1Zjqll5id0rerSSANfk25g=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/htmlnano": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.8.tgz", + "integrity": "sha512-q5gbo4SIDAE5sfJ5V0UD6uu+n1dcO/Mpr0B6SlDlJBoV7xKPne4uG4UwrT8vUWjdjIPJl95TY8EDuEbBW2TG0A==", + "dependencies": { + "cssnano": "^4.1.10", + "posthtml": "^0.13.4", + "posthtml-render": "^1.3.0", + "purgecss": "^2.3.0", + "relateurl": "^0.2.7", + "srcset": "^3.0.0", + "svgo": "^1.3.2", + "terser": "^4.8.0", + "timsort": "^0.3.0", + "uncss": "^0.17.3" + } + }, + "node_modules/htmlnano/node_modules/posthtml": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.13.4.tgz", + "integrity": "sha512-i2oTo/+dwXGC6zaAQSF6WZEQSbEqu10hsvg01DWzGAfZmy31Iiy9ktPh9nnXDfZiYytjxTIvxoK4TI0uk4QWpw==", + "dependencies": { + "posthtml-parser": "^0.5.0", + "posthtml-render": "^1.2.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/htmlnano/node_modules/posthtml-parser": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.5.3.tgz", + "integrity": "sha512-uHosRn0y+1wbnlYKrqMjBPoo/kK5LPYImLtiETszNFYfFwAD3cQdD1R2E13Mh5icBxkHj+yKtlIHozCsmVWD/Q==", + "dependencies": { + "htmlparser2": "^3.9.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/htmlnano/node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/htmlparser2/node_modules/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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "node_modules/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, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/husky": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", + "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^7.0.0", + "find-versions": "^4.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^5.0.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" + }, + "bin": { + "husky-run": "bin/run.js", + "husky-upgrade": "lib/upgrader/bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/husky/node_modules/cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/husky/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/husky/node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/husky/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/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==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-html": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz", + "integrity": "sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=", + "dependencies": { + "html-tags": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dependencies": { + "html-comment-regex": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/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, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-changed-files/node_modules/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==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-changed-files/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-config/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-config/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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 + }, + "node_modules/jest-environment-jsdom/node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/jest-environment-jsdom/node_modules/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, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", + "dev": true, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-extended": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-0.11.5.tgz", + "integrity": "sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q==", + "dev": true, + "dependencies": { + "expect": "^24.1.0", + "jest-get-type": "^22.4.3", + "jest-matcher-utils": "^22.0.0" + } + }, + "node_modules/jest-extended/node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-extended/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-extended/node_modules/@types/yargs": { + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-extended/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-extended/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-extended/node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/expect/node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-diff/node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-get-type": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", + "dev": true + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz", + "integrity": "sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-get-type": "^22.4.3", + "pretty-format": "^22.4.3" + } + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-extended/node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "22.4.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", + "integrity": "sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "node_modules/jest-extended/node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-extended/node_modules/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 + }, + "node_modules/jest-extended/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-extended/node_modules/stack-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", + "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-extended/node_modules/stack-utils/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-extended/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-fetch-mock": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", + "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", + "dev": true, + "dependencies": { + "cross-fetch": "^3.0.4", + "promise-polyfill": "^8.1.3" + } + }, + "node_modules/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, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-haste-map/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/jest-haste-map/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-haste-map/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-message-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-message-util/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "@types/node": "*" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-util/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jest-util/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/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, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "dev": true, + "dependencies": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "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.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 10.14.2" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "node_modules/jsdom": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", + "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", + "dependencies": { + "abab": "^2.0.0", + "acorn": "^6.0.4", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.1.3", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.5.0", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.2", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsdom/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jsdom/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/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 + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "node_modules/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==" + }, + "node_modules/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 + }, + "node_modules/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=" + }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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 + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "node_modules/lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dependencies": { + "vlq": "^0.2.2" + } + }, + "node_modules/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, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "dependencies": { + "tmpl": "1.0.x" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "dependencies": { + "mime-db": "1.45.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/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==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mri": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz", + "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/msw": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/msw/-/msw-0.21.3.tgz", + "integrity": "sha512-voPc/EJsjarvi454vSEuozZQQqLG4AUHT6qQL5Ah47lq7sGCpc7icByeUlfvEj5+MvaugN0c7JwXyCa2rxu8cA==", + "dev": true, + "dependencies": { + "@open-draft/until": "^1.0.3", + "@types/cookie": "^0.4.0", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cookie": "^0.4.1", + "graphql": "^15.3.0", + "headers-utils": "^1.2.0", + "node-fetch": "^2.6.1", + "node-match-path": "^0.4.4", + "node-request-interceptor": "^0.5.1", + "statuses": "^2.0.0", + "yargs": "^16.0.3" + }, + "bin": { + "msw": "cli/index.js" + } + }, + "node_modules/msw/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/msw/node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/msw/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/msw/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/msw/node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/msw/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/msw/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/msw/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/msw/node_modules/y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/msw/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/msw/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/multimatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz", + "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==", + "dev": true, + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==" + }, + "node_modules/node-cleanup": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", + "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "engines": { + "node": "*" + } + }, + "node_modules/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/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "node_modules/node-match-path": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/node-match-path/-/node-match-path-0.4.4.tgz", + "integrity": "sha512-pBq9gp7TG0r0VXuy/oeZmQsjBSnYQo7G886Ly/B3azRwZuEtHCY155dzmfoKWcDPGgyfIGD8WKVC7h3+6y7yTg==", + "dev": true + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "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" + } + }, + "node_modules/node-notifier/node_modules/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, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-notifier/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "optional": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-releases": { + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" + }, + "node_modules/node-request-interceptor": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/node-request-interceptor/-/node-request-interceptor-0.5.9.tgz", + "integrity": "sha512-M1a3aulCW/kqajDn/w+qBX86G4So7utJGlrODAjQ1piz/kR8ZaDfd/wrJnsuPtUM12F0YxsnXG8qRKFkIEIxsw==", + "dev": true, + "dependencies": { + "@open-draft/until": "^1.0.3", + "debug": "^4.3.0", + "headers-utils": "^1.2.0" + } + }, + "node_modules/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, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "dev": true, + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", + "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", + "dependencies": { + "chalk": "^2.3.1", + "cli-cursor": "^2.1.0", + "cli-spinners": "^1.1.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^4.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "node_modules/parcel": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-1.12.4.tgz", + "integrity": "sha512-qfc74e2/R4pCoU6L/ZZnK9k3iDS6ir4uHea0e9th9w52eehcAGf2ido/iABq9PBXdsIOe4NSY3oUm7Khe7+S3w==", + "hasInstallScript": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.4.4", + "@babel/generator": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/plugin-transform-flow-strip-types": "^7.4.4", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/preset-env": "^7.4.4", + "@babel/runtime": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4", + "@iarna/toml": "^2.2.0", + "@parcel/fs": "^1.11.0", + "@parcel/logger": "^1.11.1", + "@parcel/utils": "^1.11.0", + "@parcel/watcher": "^1.12.1", + "@parcel/workers": "^1.11.0", + "ansi-to-html": "^0.6.4", + "babylon-walk": "^1.0.2", + "browserslist": "^4.1.0", + "chalk": "^2.1.0", + "clone": "^2.1.1", + "command-exists": "^1.2.6", + "commander": "^2.11.0", + "core-js": "^2.6.5", + "cross-spawn": "^6.0.4", + "css-modules-loader-core": "^1.1.0", + "cssnano": "^4.0.0", + "deasync": "^0.1.14", + "dotenv": "^5.0.0", + "dotenv-expand": "^5.1.0", + "envinfo": "^7.3.1", + "fast-glob": "^2.2.2", + "filesize": "^3.6.0", + "get-port": "^3.2.0", + "htmlnano": "^0.2.2", + "is-glob": "^4.0.0", + "is-url": "^1.2.2", + "js-yaml": "^3.10.0", + "json5": "^1.0.1", + "micromatch": "^3.0.4", + "mkdirp": "^0.5.1", + "node-forge": "^0.7.1", + "node-libs-browser": "^2.0.0", + "opn": "^5.1.0", + "postcss": "^7.0.11", + "postcss-value-parser": "^3.3.1", + "posthtml": "^0.11.2", + "posthtml-parser": "^0.4.0", + "posthtml-render": "^1.1.3", + "resolve": "^1.4.0", + "semver": "^5.4.1", + "serialize-to-js": "^3.0.0", + "serve-static": "^1.12.4", + "source-map": "0.6.1", + "terser": "^3.7.3", + "v8-compile-cache": "^2.0.0", + "ws": "^5.1.1" + }, + "bin": { + "parcel": "bin/cli.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/parcel-bundler": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.4.tgz", + "integrity": "sha512-G+iZGGiPEXcRzw0fiRxWYCKxdt/F7l9a0xkiU4XbcVRJCSlBnioWEwJMutOCCpoQmaQtjB4RBHDGIHN85AIhLQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.4.4", + "@babel/generator": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/plugin-transform-flow-strip-types": "^7.4.4", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/preset-env": "^7.4.4", + "@babel/runtime": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4", + "@iarna/toml": "^2.2.0", + "@parcel/fs": "^1.11.0", + "@parcel/logger": "^1.11.1", + "@parcel/utils": "^1.11.0", + "@parcel/watcher": "^1.12.1", + "@parcel/workers": "^1.11.0", + "ansi-to-html": "^0.6.4", + "babylon-walk": "^1.0.2", + "browserslist": "^4.1.0", + "chalk": "^2.1.0", + "clone": "^2.1.1", + "command-exists": "^1.2.6", + "commander": "^2.11.0", + "core-js": "^2.6.5", + "cross-spawn": "^6.0.4", + "css-modules-loader-core": "^1.1.0", + "cssnano": "^4.0.0", + "deasync": "^0.1.14", + "dotenv": "^5.0.0", + "dotenv-expand": "^5.1.0", + "envinfo": "^7.3.1", + "fast-glob": "^2.2.2", + "filesize": "^3.6.0", + "get-port": "^3.2.0", + "htmlnano": "^0.2.2", + "is-glob": "^4.0.0", + "is-url": "^1.2.2", + "js-yaml": "^3.10.0", + "json5": "^1.0.1", + "micromatch": "^3.0.4", + "mkdirp": "^0.5.1", + "node-forge": "^0.7.1", + "node-libs-browser": "^2.0.0", + "opn": "^5.1.0", + "postcss": "^7.0.11", + "postcss-value-parser": "^3.3.1", + "posthtml": "^0.11.2", + "posthtml-parser": "^0.4.0", + "posthtml-render": "^1.1.3", + "resolve": "^1.4.0", + "semver": "^5.4.1", + "serialize-to-js": "^3.0.0", + "serve-static": "^1.12.4", + "source-map": "0.6.1", + "terser": "^3.7.3", + "v8-compile-cache": "^2.0.0", + "ws": "^5.1.1" + }, + "bin": { + "parcel": "bin/cli.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/parcel-bundler/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/parcel-bundler/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-bundler/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel-plugin-static-files-copy": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/parcel-plugin-static-files-copy/-/parcel-plugin-static-files-copy-2.5.0.tgz", + "integrity": "sha512-5rxOPw3iV+WXhePfByoIxsUlL4I0o95CgcF31gwgnhPuj2q6tVPuzEAJsag9bWJr5Vd/SXFPTNsUAGAg4jP07Q==", + "dev": true, + "dependencies": { + "minimatch": "3.0.4", + "path": "0.12.7" + } + }, + "node_modules/parcel/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/parcel/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/parcel/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/parcel/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dev": true, + "dependencies": { + "process": "^0.11.1", + "util": "^0.10.3" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/path/node_modules/util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "dependencies": { + "node-modules-regexp": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "node_modules/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=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dependencies": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/postcss-calc/node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + }, + "node_modules/postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dependencies": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dependencies": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", + "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", + "dependencies": { + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-extract-imports/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-extract-imports/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-local-by-default/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dependencies": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-scope/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-scope/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-scope/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dependencies": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "node_modules/postcss-modules-values/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss-modules-values/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss-modules-values/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-modules-values/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dependencies": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/postcss/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/postcss/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/posthtml": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz", + "integrity": "sha512-C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==", + "dependencies": { + "posthtml-parser": "^0.4.1", + "posthtml-render": "^1.1.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz", + "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==", + "dependencies": { + "htmlparser2": "^3.9.2" + } + }, + "node_modules/posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/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, + "dependencies": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/pretty-quick": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.0.tgz", + "integrity": "sha512-DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "execa": "^4.0.0", + "find-up": "^4.1.0", + "ignore": "^5.1.4", + "mri": "^1.1.5", + "multimatch": "^4.0.0" + }, + "bin": { + "pretty-quick": "bin/pretty-quick.js" + }, + "engines": { + "node": ">=10.13" + } + }, + "node_modules/pretty-quick/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/pretty-quick/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pretty-quick/node_modules/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==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-quick/node_modules/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, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-quick/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-polyfill": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.2.0.tgz", + "integrity": "sha512-k/TC0mIcPVF6yHhUvwAp7cvL6I2fFV7TzF1DuGPI8mBh4QQazf36xCKEHKTZKRysEoTQoQdKyP25J8MPJp7j5g==", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", + "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.0.0", + "postcss": "7.0.32", + "postcss-selector-parser": "^6.0.2" + }, + "bin": { + "purgecss": "bin/purgecss" + } + }, + "node_modules/purgecss/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/purgecss/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/purgecss/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/purgecss/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/purgecss/node_modules/postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/purgecss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", + "dependencies": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + }, + "bin": { + "quote-stream": "bin/cmd.js" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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 + }, + "node_modules/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, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/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, + "dependencies": { + "@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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "node_modules/regjsparser": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz", + "integrity": "sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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=" + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "node_modules/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, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, + "node_modules/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==" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "dependencies": { + "@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" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sass": { + "version": "1.32.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.4.tgz", + "integrity": "sha512-N0BT0PI/t3+gD8jKa83zJJUb7ssfQnRRfqN+GIErokW6U4guBpfYl8qYB+OFLEho+QvnV5ZH1R9qhUC/Z2Ch9w==", + "dev": true, + "dependencies": { + "chokidar": ">=2.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "node_modules/semver-regex": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", + "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "node_modules/serialize-to-js": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.1.1.tgz", + "integrity": "sha512-F+NGU0UHMBO4Q965tjw7rvieNVjlH6Lqi2emq/Lc9LUURYJbiCzmpi4Cy1OOjjVPtxu0c+NE85LU6968Wko5ZA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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 + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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==", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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==", + "dependencies": { + "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" + } + }, + "node_modules/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==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/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 + }, + "node_modules/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, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/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 + }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/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==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "node_modules/srcset": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-3.0.0.tgz", + "integrity": "sha512-D59vF08Qzu/C4GAOXVgMTLfgryt5fyWo93FZyhEWANo0PokFz/iWdDe13mX3O5TRf6l8vMTqckAfR4zPiaH0yQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "node_modules/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, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-eval": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz", + "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==", + "dependencies": { + "escodegen": "^1.11.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-module": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", + "dependencies": { + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-argv": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", + "integrity": "sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/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, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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==" + }, + "node_modules/table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "dependencies": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/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, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "dependencies": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "bin": { + "terser": "bin/uglifyjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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 + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, + "node_modules/tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "node_modules/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=", + "engines": { + "node": ">=4" + } + }, + "node_modules/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=", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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=", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/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==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "dev": true, + "dependencies": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/ts-jest/node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-jest/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/tsc-watch": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/tsc-watch/-/tsc-watch-4.2.9.tgz", + "integrity": "sha512-DlTaoDs74+KUpyWr7dCGhuscAUKCz6CiFduBN7R9RbLJSSN1moWdwoCLASE7+zLgGvV5AwXfYDiEMAsPGaO+Vw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "node-cleanup": "^2.1.2", + "ps-tree": "^1.2.0", + "string-argv": "^0.1.1", + "strip-ansi": "^6.0.0" + }, + "bin": { + "tsc-watch": "index.js" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tsc-watch/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsc-watch/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", + "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uncss": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", + "integrity": "sha512-ksdDWl81YWvF/X14fOSw4iu8tESDHFIeyKIeDrK6GEVTQvqJc1WlOEXqostNwOCi3qAj++4EaLsdAgPmUbEyog==", + "dependencies": { + "commander": "^2.20.0", + "glob": "^7.1.4", + "is-absolute-url": "^3.0.1", + "is-html": "^1.1.0", + "jsdom": "^14.1.0", + "lodash": "^4.17.15", + "postcss": "^7.0.17", + "postcss-selector-parser": "6.0.2", + "request": "^2.88.0" + }, + "bin": { + "uncss": "bin/uncss" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/uncss/node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/uncss/node_modules/postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dependencies": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-trie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/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==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "node_modules/util.promisify/node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/util.promisify/node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" + }, + "node_modules/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, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/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==", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "dependencies": { + "makeerror": "1.0.x" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/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==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/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==" + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/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 + }, + "node_modules/which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=", + "dev": true + }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/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, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/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, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/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==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", @@ -10445,6 +24380,14 @@ "xtend": "^4.0.0" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-argv": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.1.2.tgz", @@ -10512,14 +24455,6 @@ "define-properties": "^1.1.3" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", diff --git a/src/app/model/CheckmateHasOccurred.ts b/src/app/model/CheckmateHasOccurred.ts new file mode 100644 index 0000000..6b498e3 --- /dev/null +++ b/src/app/model/CheckmateHasOccurred.ts @@ -0,0 +1,8 @@ +import { King } from './pieces'; +import { Square } from './Types'; + +export type CheckmateHasOccurred = { + eventType: 'CheckmateHasOccurred'; + king: King; + onSquare: Square | undefined; +}; diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index acaae3c..4dca94d 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -9,6 +9,8 @@ import { isDefined } from './HelperFunctions'; import { KingWasChecked } from './KingWasChecked'; import { KingWasUnchecked } from './KingWasUnchecked'; import { MoveResult } from './MoveResult'; +import { CheckmateHasOccurred } from './CheckmateHasOccurred'; +import { StalemateHasOccurred } from './StalemateHasOccurred'; type CheckedKing = { kingSide: Side; position: Square }; @@ -61,7 +63,18 @@ export class ChessEngine implements ChessModel { this.onKingWasUnchecked(kingWasUnchecked); } - return [pieceWasCaptured, pieceWasMoved, kingWasChecked, kingWasUnchecked, pawnPromotionWasEnabled].filter(this.hasOccurred); + const checkmateHasOccurred = this.checkmateHasOccurred(); + const stalemateHasOccurred = this.stalemateHasOccurred(); + + return [ + pieceWasCaptured, + pieceWasMoved, + kingWasChecked, + kingWasUnchecked, + checkmateHasOccurred, + stalemateHasOccurred, + pawnPromotionWasEnabled, + ].filter(this.hasOccurred); } private pieceWasCaptured(squareTo: Square, chosenPiece: Piece): PieceWasCaptured | undefined { @@ -145,7 +158,7 @@ export class ChessEngine implements ChessModel { ); } - private isKingChecked(chessboard: Chessboard, kingSide: Side): boolean { + private isKingChecked(chessboard: Chessboard = this.board, kingSide: Side = this.currentSide): boolean { const kingPosition = this.kingPosition(chessboard, kingSide); return kingPosition ? this.isSquareChecked(chessboard, kingSide, kingPosition) : false; } @@ -155,14 +168,14 @@ export class ChessEngine implements ChessModel { return this.isKingChecked(simulatedChessboard, this.currentSide); } - public pieceMovesNotCausingAllyKingCheckmate(position: Square): Square[] { + public pieceMovesNotCausingAllyKingCheck(position: Square): Square[] { const initialPossibleMoves = this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; const filteringFunction = (onePossibleMove: Square) => !this.willBeKingChecked(position, onePossibleMove); return initialPossibleMoves.filter(filteringFunction); } public possibleMoves(position: Square): Square[] { - return this.pieceMovesNotCausingAllyKingCheckmate(position); + return this.pieceMovesNotCausingAllyKingCheck(position); } private hasOccurred(x: T | undefined): x is T { @@ -204,4 +217,39 @@ export class ChessEngine implements ChessModel { private onKingWasUnchecked(event: KingWasUnchecked): void { this.checkedKing = undefined; } + + private checkmateHasOccurred(): CheckmateHasOccurred | undefined { + if (!this.isKingChecked()) return undefined; + if (this.isAnyPossibleMoves()) return undefined; + + const kingPosition = this.kingPosition(this.board, this.currentSide); + return { + eventType: 'CheckmateHasOccurred', + king: new King(this.currentSide), + onSquare: kingPosition, + }; + } + + private stalemateHasOccurred(): StalemateHasOccurred | undefined { + if (this.isKingChecked()) return undefined; + if (this.isAnyPossibleMoves()) return undefined; + + const kingPosition = this.kingPosition(this.board, this.currentSide); + return { + eventType: 'StalemateHasOccurred', + king: new King(this.currentSide), + onSquare: kingPosition, + }; + } + + private isAnyPossibleMoves() { + const squaresWithPieces = this.board.squaresWithPiece; + return Object.keys(squaresWithPieces) + .map((squareKey) => ({ + position: { column: squareKey[0], row: Number(squareKey[1]) as Row }, + piece: squaresWithPieces[squareKey], + })) + .filter(({ piece }) => piece.side == this.currentSide) + .some(({ position }) => this.possibleMoves(position).length); + } } diff --git a/src/app/model/MoveResult.ts b/src/app/model/MoveResult.ts index c93e662..dbb5e3d 100644 --- a/src/app/model/MoveResult.ts +++ b/src/app/model/MoveResult.ts @@ -2,6 +2,15 @@ import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; import { KingWasChecked } from './KingWasChecked'; import { KingWasUnchecked } from './KingWasUnchecked'; +import { CheckmateHasOccurred } from './CheckmateHasOccurred'; +import { StalemateHasOccurred } from './StalemateHasOccurred'; import { PawnPromotionWasEnabled } from './PawnPromotionWasEnabled'; -export type MoveResult = PieceWasMoved | PieceWasCaptured | KingWasChecked | KingWasUnchecked | PawnPromotionWasEnabled; +export type MoveResult = + | PieceWasMoved + | PieceWasCaptured + | KingWasChecked + | KingWasUnchecked + | CheckmateHasOccurred + | StalemateHasOccurred + | PawnPromotionWasEnabled; diff --git a/src/app/model/StalemateHasOccurred.ts b/src/app/model/StalemateHasOccurred.ts new file mode 100644 index 0000000..17066c8 --- /dev/null +++ b/src/app/model/StalemateHasOccurred.ts @@ -0,0 +1,8 @@ +import { King } from './pieces'; +import { Square } from './Types'; + +export type StalemateHasOccurred = { + eventType: 'StalemateHasOccurred'; + king: King; + onSquare: Square | undefined; +}; diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 53ffa55..4fadc45 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -5,7 +5,7 @@ describe('Chess Engine', () => { it('Given white piece on A2 and black piece on A4, when move white piece from A2 to A3, then white piece was moved from A2 to A3', () => { const whitePiece = new Pawn(Side.WHITE); const blackPiece = new Pawn(Side.BLACK); - const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece }; + const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece, H7: blackPiece }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const squareFrom: Square = { column: 'A', row: 2 }; @@ -24,7 +24,7 @@ describe('Chess Engine', () => { it('Given white piece on A2 and black piece on A4, when move white piece from A2 to A4, then white piece was moved from A2 to A4 and piece from A4 was captured', () => { const whitePiece = new Queen(Side.WHITE); const blackPiece = new Pawn(Side.BLACK); - const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece }; + const boardWithPieces: SquareWithPiece = { A2: whitePiece, A4: blackPiece, H7: blackPiece }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); const squareFrom: Square = { column: 'A', row: 2 }; @@ -40,7 +40,7 @@ describe('Chess Engine', () => { const whitePawn = new Pawn(Side.WHITE); const whiteKnight = new Knight(Side.WHITE); const blackPawn = new Pawn(Side.BLACK); - const boardWithPieces: SquareWithPiece = { C2: whitePawn, B1: whiteKnight, B4: blackPawn }; + const boardWithPieces: SquareWithPiece = { C2: whitePawn, B1: whiteKnight, B4: blackPawn, H7: blackPawn }; const chessBoard = new Chessboard(boardWithPieces); const engine = new ChessEngine(chessBoard); @@ -192,7 +192,7 @@ describe('Chess Engine', () => { { column: 'B', row: 3 }, ]; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); const expectedResult = possibleMovesBeforeFiltration; expect(returnedResult).toIncludeSameMembers(expectedResult); @@ -208,7 +208,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); const expectedResult = [ { column: 'A', row: 1 }, @@ -227,7 +227,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); const expectedResult = [ { column: 'A', row: 1 }, @@ -246,7 +246,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); const expectedResult = [ { column: 'A', row: 1 }, @@ -266,7 +266,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); const expectedResult = [{ column: 'A', row: 1 }]; expect(returnedResult).toIncludeSameMembers(expectedResult); @@ -282,7 +282,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); const expectedResult = [ { column: 'B', row: 1 }, @@ -303,7 +303,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 3 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); const expectedResult = [ { column: 'A', row: 4 }, @@ -325,7 +325,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 1 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); const expectedResult = [] as Square[]; expect(returnedResult).toIncludeSameMembers(expectedResult); @@ -342,7 +342,7 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheckmate(movedPiecePosition); + const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); const expectedResult = [] as Square[]; expect(returnedResult).toIncludeSameMembers(expectedResult); @@ -444,4 +444,208 @@ describe('Chess Engine', () => { 'You must not make a move that will result in checking your king.', ); }); + + describe('Checkmate and Stalemate event', () => { + const whiteKing = new King(Side.WHITE); + const blackKing = new King(Side.BLACK); + const whiteRook = new Rook(Side.WHITE); + const blackRook = new Rook(Side.BLACK); + const blackPawn = new Pawn(Side.BLACK); + + const descriptionWithoutCheckmate = `Should't return checkmate event If checkmate Hasn't Occurred.`; + const descriptionWithCheckmate = `Should return checkmate event If checkmate Has Occurred.`; + const descriptionWithStalemate = `Should return Stalemate event If stalemate Has Occurred.`; + + it(`${descriptionWithoutCheckmate} Enemy king is not checked`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 2 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 2 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`${descriptionWithoutCheckmate} Enemy king is checked.`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 8 } }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`${descriptionWithoutCheckmate} Enemy king is checked. King can capture.`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + G7: whiteRook, + H7: blackRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 8 } }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(descriptionWithCheckmate, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + A7: whiteRook, + B1: whiteRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 8 } }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + { eventType: 'CheckmateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(descriptionWithCheckmate, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + H7: blackPawn, + G7: blackPawn, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 8 } }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + { eventType: 'CheckmateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`${descriptionWithCheckmate} Black king and black rook cannot capture`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + G6: whiteRook, + G7: whiteRook, + H6: whiteRook, + H7: blackRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'B', row: 1 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'B', row: 8 }, + }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + { eventType: 'CheckmateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`${descriptionWithCheckmate} Black king and black rook cannot capture`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + G6: whiteRook, + G7: whiteRook, + H6: whiteRook, + H7: blackRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'B', row: 1 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'B', row: 8 }, + }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + { eventType: 'CheckmateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(descriptionWithStalemate, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + A6: whiteRook, + G7: whiteRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'A', row: 6 }; + const endPiecePosition: Square = { column: 'G', row: 6 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'A', row: 6 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'G', row: 6 }, + }, + { eventType: 'StalemateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + }); }); From b579a7fc5d0a0ec9a68bb5c41201c58f79ac64af Mon Sep 17 00:00:00 2001 From: lamparina <59768305+lamparina@users.noreply.github.com> Date: Tue, 16 Feb 2021 16:16:52 +0100 Subject: [PATCH 124/134] #69 Model | ChessEngine - Roszada (#83) * Add positive and negative test cases for castling * CastlingWasDone - positive cases | Castling not possible while king's exposed to attack * Disable castling if king or rook has already moved or there is any piece between them * Refactor ChessEngine * Return all possible moves from one method * Rename method * Fix method name * Refactor possibleMoves method Co-authored-by: lamparina --- src/app/model/ChessEngine.ts | 144 +++++++++++++++++-- test/app/model/ChessEngine.spec.ts | 214 +++++++++++++++++++++++++---- 2 files changed, 313 insertions(+), 45 deletions(-) diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index 4dca94d..dc06360 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,6 +1,6 @@ import { ChessModel } from './ChessModel'; -import { Row, Side, Square, SquareWithPiece } from './Types'; -import { King, Pawn, Piece } from './pieces'; +import { Column, columns, Row, Side, Square, SquareWithPiece } from './Types'; +import { King, Pawn, Piece, Rook } from './pieces'; import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; @@ -19,6 +19,8 @@ export class ChessEngine implements ChessModel { readonly squaresWithPiece: SquareWithPiece; private promotingOnSquare: Square | undefined; private checkedKing: CheckedKing | undefined; + private castlingOnSquare: Square | undefined; + private moveHistory: PieceWasMoved[] = []; constructor(private readonly board: Chessboard) { this.squaresWithPiece = board.squaresWithPiece; @@ -38,9 +40,6 @@ export class ChessEngine implements ChessModel { if (!this.canMoveOnSquare(squareFrom, squareTo)) { throw new Error('Piece can not move to given square.'); } - if (this.willBeKingChecked(squareFrom, squareTo)) { - throw new Error('You must not make a move that will result in checking your king.'); - } const pieceWasMoved: PieceWasMoved = { eventType: 'PieceWasMoved', @@ -48,6 +47,7 @@ export class ChessEngine implements ChessModel { from: squareFrom, to: squareTo, }; + const castlingWasDone = this.castlingWasDone(squareFrom, squareTo); const pieceWasCaptured = this.pieceWasCaptured(squareTo, chosenPiece); const pawnPromotionWasEnabled = this.pawnPromotionWasEnabled(chosenPiece, squareTo); @@ -62,7 +62,6 @@ export class ChessEngine implements ChessModel { if (kingWasUnchecked) { this.onKingWasUnchecked(kingWasUnchecked); } - const checkmateHasOccurred = this.checkmateHasOccurred(); const stalemateHasOccurred = this.stalemateHasOccurred(); @@ -74,9 +73,86 @@ export class ChessEngine implements ChessModel { checkmateHasOccurred, stalemateHasOccurred, pawnPromotionWasEnabled, + castlingWasDone, ].filter(this.hasOccurred); } + public possibleMoves(pieceMovingFrom: Square): Square[] { + const possibleMoves = this.board.onPositionPiece(pieceMovingFrom)?.possibleMoves(pieceMovingFrom, this.board) ?? []; + const castlingMoves = this.castlingMoves(pieceMovingFrom); + return this.pieceMovesNotCausingAllyKingCheck(pieceMovingFrom, [...possibleMoves, ...castlingMoves]); + } + + private castlingMoves(pieceMovingFrom: Square): Square[] { + if (!this.isKingMovingFromStartingPosition(pieceMovingFrom)) { + return []; + } + return this.kingsMovesForCastling(pieceMovingFrom).filter((squareTo) => this.isCastlingPossible(pieceMovingFrom, squareTo)); + } + + private isKingMovingFromStartingPosition(squareFrom: Square): boolean { + const chosenPiece = this.board.onPositionPiece(squareFrom); + const startingPosition = { + WHITE: { column: 'E', row: 1 } as Square, + BLACK: { column: 'E', row: 8 } as Square, + }; + return chosenPiece instanceof King && this.isSameSquare(squareFrom, startingPosition[chosenPiece.side]); + } + + private kingsMovesForCastling(kingPosition: Square): Square[] { + return [ + { column: 'C', row: kingPosition.row }, + { column: 'G', row: kingPosition.row }, + ]; + } + + private isSameSquare(squareA: Square, squareB: Square) { + return squareA.column === squareB.column && squareA.row === squareB.row; + } + + private isCastlingPossible(kingSquareFrom: Square, kingSquareTo: Square): boolean { + let squareCrossedByKing!: Square; + let rookPosition!: Square; + let moveDirection!: number; + switch (kingSquareTo.column) { + case 'C': + squareCrossedByKing = { column: 'D', row: kingSquareTo.row }; + rookPosition = { column: 'A', row: kingSquareTo.row }; + moveDirection = -1; + break; + case 'G': + squareCrossedByKing = { column: 'F', row: kingSquareTo.row }; + rookPosition = { column: 'H', row: kingSquareTo.row }; + moveDirection = 1; + break; + } + return !( + this.isKingChecked(this.board, this.currentSide) || + this.isSquareChecked(this.board, this.currentSide, squareCrossedByKing) || + this.willBeKingChecked(kingSquareFrom, kingSquareTo) || + this.isAnyPieceBetweenKingAndRook(kingSquareFrom, rookPosition, moveDirection) || + this.pieceWasAlreadyMoved(kingSquareFrom) || + this.pieceWasAlreadyMoved(rookPosition) + ); + } + + private isAnyPieceBetweenKingAndRook(actualPosition: Square, rookPosition: Square, moveDirection: number): boolean { + const nextSquare: Square = { + column: columns[columns.indexOf(actualPosition.column) + moveDirection], + row: actualPosition.row, + }; + if (nextSquare.column === rookPosition.column) { + return false; + } + const isSquareOccupied = this.board.onPositionPiece(nextSquare); + return isSquareOccupied ? true : this.isAnyPieceBetweenKingAndRook(nextSquare, rookPosition, moveDirection); + } + + private pieceWasAlreadyMoved(squareWithPiece: Square) { + const piece = this.board.onPositionPiece(squareWithPiece); + return this.moveHistory?.some((move) => move.piece === piece && this.isSameSquare(move.from, squareWithPiece)); + } + private pieceWasCaptured(squareTo: Square, chosenPiece: Piece): PieceWasCaptured | undefined { const pieceOnSquare = this.board.onPositionPiece(squareTo); return isDefined(pieceOnSquare) && pieceOnSquare.isOpponentOf(chosenPiece) @@ -101,6 +177,7 @@ export class ChessEngine implements ChessModel { private onPieceWasMoved(event: PieceWasMoved): void { this.board.movePiece(event.from, event.to); + this.moveHistory.push(event); if (!this.promotingOnSquare) { this.currentSide = this.anotherSide(event.piece.side); } @@ -112,8 +189,51 @@ export class ChessEngine implements ChessModel { } } + private castlingWasDone(squareFrom: Square, squareTo: Square): PieceWasMoved | undefined { + if (!this.intendToCastling(squareFrom, squareTo)) { + return undefined; + } + const rookMove = { + ['C' as Column]: { + rookSquareFrom: { column: 'A', row: squareTo.row } as Square, + rookSquareTo: { column: 'D', row: squareTo.row } as Square, + }, + ['G' as Column]: { + rookSquareFrom: { column: 'H', row: squareTo.row } as Square, + rookSquareTo: { column: 'F', row: squareTo.row } as Square, + }, + }; + this.board.movePiece(rookMove[squareTo.column].rookSquareFrom, rookMove[squareTo.column].rookSquareTo); + return { + eventType: 'PieceWasMoved', + piece: new Rook(this.currentSide), + from: rookMove[squareTo.column].rookSquareFrom, + to: rookMove[squareTo.column].rookSquareTo, + }; + } + + private intendToCastling(squareFrom: Square, squareTo: Square): boolean { + if (!this.isKingMovingFromStartingPosition(squareFrom)) { + return false; + } + const castling = { + WHITE: { + longTo: { column: 'C', row: 1 } as Square, + shortTo: { column: 'G', row: 1 } as Square, + }, + BLACK: { + longTo: { column: 'C', row: 8 } as Square, + shortTo: { column: 'G', row: 8 } as Square, + }, + }; + + return ( + this.isSameSquare(squareTo, castling[this.currentSide].longTo) || this.isSameSquare(squareTo, castling[this.currentSide].shortTo) + ); + } + private canMoveOnSquare(squareFrom: Square, squareTo: Square): boolean { - const piecePossibleMoves = this.board.onPositionPiece(squareFrom)?.possibleMoves(squareFrom, this.board); + const piecePossibleMoves = this.possibleMoves(squareFrom); return ( piecePossibleMoves?.some((possibleMove) => possibleMove.column === squareTo.column && possibleMove.row === squareTo.row) ?? false ); @@ -168,14 +288,8 @@ export class ChessEngine implements ChessModel { return this.isKingChecked(simulatedChessboard, this.currentSide); } - public pieceMovesNotCausingAllyKingCheck(position: Square): Square[] { - const initialPossibleMoves = this.board.onPositionPiece(position)?.possibleMoves(position, this.board) ?? []; - const filteringFunction = (onePossibleMove: Square) => !this.willBeKingChecked(position, onePossibleMove); - return initialPossibleMoves.filter(filteringFunction); - } - - public possibleMoves(position: Square): Square[] { - return this.pieceMovesNotCausingAllyKingCheck(position); + private pieceMovesNotCausingAllyKingCheck(squareFrom: Square, possibleMoves: Square[]): Square[] { + return possibleMoves.filter((possibleSquare: Square) => !this.willBeKingChecked(squareFrom, possibleSquare)); } private hasOccurred(x: T | undefined): x is T { diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 4fadc45..3a026f8 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -192,10 +192,8 @@ describe('Chess Engine', () => { { column: 'B', row: 3 }, ]; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); - const expectedResult = possibleMovesBeforeFiltration; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.possibleMoves(movedPiecePosition)).toIncludeSameMembers(expectedResult); }); it(`Should return possible moves array if the king's move causes his check.`, () => { @@ -208,13 +206,11 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); - const expectedResult = [ { column: 'A', row: 1 }, { column: 'A', row: 3 }, ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.possibleMoves(movedPiecePosition)).toIncludeSameMembers(expectedResult); }); it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { @@ -227,13 +223,11 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); - const expectedResult = [ { column: 'A', row: 1 }, { column: 'B', row: 3 }, ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.possibleMoves(movedPiecePosition)).toIncludeSameMembers(expectedResult); }); it(`Should return possible moves array if the king's move causes his check but king could capture his enemy whose check possible moves of king.`, () => { @@ -246,13 +240,11 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); - const expectedResult = [ { column: 'A', row: 1 }, { column: 'B', row: 3 }, ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.possibleMoves(movedPiecePosition)).toIncludeSameMembers(expectedResult); }); it(`Should return possible moves array if the king's move causes his check but king cannot capture his enemy whose check possible moves of king.`, () => { @@ -266,10 +258,8 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); - const expectedResult = [{ column: 'A', row: 1 }]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.possibleMoves(movedPiecePosition)).toIncludeSameMembers(expectedResult); }); it(`Should return possible king's moves array if the king is checked.`, () => { @@ -282,14 +272,12 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); - const expectedResult = [ { column: 'B', row: 1 }, { column: 'B', row: 2 }, { column: 'B', row: 3 }, ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.possibleMoves(movedPiecePosition)).toIncludeSameMembers(expectedResult); }); it(`Should return possible rook's moves array if the rook's move causes his king check`, () => { @@ -303,15 +291,13 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 3 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); - const expectedResult = [ { column: 'A', row: 4 }, { column: 'A', row: 5 }, { column: 'A', row: 6 }, { column: 'A', row: 7 }, ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.possibleMoves(movedPiecePosition)).toIncludeSameMembers(expectedResult); }); it(`Should return empty possible rook's moves array if the king is checked and rook's move causes his king check`, () => { @@ -325,10 +311,8 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 1 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); - const expectedResult = [] as Square[]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.possibleMoves(movedPiecePosition)).toIncludeSameMembers(expectedResult); }); it(`Should return empty possible king's moves array if it's checkmate`, () => { @@ -342,10 +326,8 @@ describe('Chess Engine', () => { const engine = new ChessEngine(chessboard); const movedPiecePosition: Square = { column: 'A', row: 2 }; - const returnedResult = engine.pieceMovesNotCausingAllyKingCheck(movedPiecePosition); - const expectedResult = [] as Square[]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.possibleMoves(movedPiecePosition)).toIncludeSameMembers(expectedResult); }); }); @@ -440,9 +422,181 @@ describe('Chess Engine', () => { engine.move(bishopSquareFrom, bishopSquareTo); - expect(() => engine.move(queenSquareFrom, queenSquareTo)).toThrowError( - 'You must not make a move that will result in checking your king.', - ); + expect(() => engine.move(queenSquareFrom, queenSquareTo)).toThrowError('Piece can not move to given square.'); + }); +}); + +describe('Castling can be done only if neither king nor rook has moved and none of square which the king is passing by is under attack and no piece between the king and the rook', () => { + const whiteKing = new King(Side.WHITE); + const whiteRookA1 = new Rook(Side.WHITE); + const whiteRookH1 = new Rook(Side.WHITE); + const whiteBishop = new Bishop(Side.WHITE); + const blackKing = new King(Side.BLACK); + const blackRook = new Rook(Side.BLACK); + const blackKnight = new Knight(Side.BLACK); + const blackPawn = new Pawn(Side.BLACK); + + it('Short castling can be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, E8: blackKing }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const kingSquareTo: Square = { column: 'G', row: 1 }; + const rookSquareFrom: Square = { column: 'H', row: 1 }; + const rookSquareTo: Square = { column: 'F', row: 1 }; + + expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: whiteKing, from: kingSquareFrom, to: kingSquareTo }, + { eventType: 'PieceWasMoved', piece: whiteRookH1, from: rookSquareFrom, to: rookSquareTo }, + ]); + }); + + it('Long castling can be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, A1: whiteRookA1, E8: blackKing }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const kingSquareTo: Square = { column: 'C', row: 1 }; + const rookSquareFrom: Square = { column: 'A', row: 1 }; + const rookSquareTo: Square = { column: 'D', row: 1 }; + + expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: whiteKing, from: kingSquareFrom, to: kingSquareTo }, + { eventType: 'PieceWasMoved', piece: whiteRookA1, from: rookSquareFrom, to: rookSquareTo }, + ]); + }); + + it('When all conditions are fulfilled and square with rook is under attack, then short castling can be done', () => { + const boardWithPieces: SquareWithPiece = { C1: whiteBishop, E8: blackKing, H8: blackRook }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const bishopSquareFrom: Square = { column: 'C', row: 1 }; + const bishopSquareTo: Square = { column: 'B', row: 2 }; + const kingSquareFrom: Square = { column: 'E', row: 8 }; + const kingSquareTo: Square = { column: 'G', row: 8 }; + const rookSquareFrom: Square = { column: 'H', row: 8 }; + const rookSquareTo: Square = { column: 'F', row: 8 }; + + engine.move(bishopSquareFrom, bishopSquareTo); + expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: blackKing, from: kingSquareFrom, to: kingSquareTo }, + { eventType: 'PieceWasMoved', piece: blackRook, from: rookSquareFrom, to: rookSquareTo }, + ]); + }); + + it('When all conditions are fulfilled and square B8 is under attack, then long castling can be done', () => { + const boardWithPieces: SquareWithPiece = { G1: whiteBishop, E8: blackKing, A8: blackRook }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const bishopSquareFrom: Square = { column: 'G', row: 1 }; + const bishopSquareTo: Square = { column: 'H', row: 2 }; + const kingSquareFrom: Square = { column: 'E', row: 8 }; + const kingSquareTo: Square = { column: 'C', row: 8 }; + const rookSquareFrom: Square = { column: 'A', row: 8 }; + const rookSquareTo: Square = { column: 'D', row: 8 }; + + engine.move(bishopSquareFrom, bishopSquareTo); + expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: blackKing, from: kingSquareFrom, to: kingSquareTo }, + { eventType: 'PieceWasMoved', piece: blackRook, from: rookSquareFrom, to: rookSquareTo }, + ]); + }); + + it('When all conditions are fulfilled but move starts with the rook, then castling will not be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, E8: blackKing }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const rookSquareFrom: Square = { column: 'H', row: 1 }; + const rookSquareTo: Square = { column: 'F', row: 1 }; + + expect(engine.move(rookSquareFrom, rookSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: whiteRookH1, from: rookSquareFrom, to: rookSquareTo }, + ]); + }); + + it('When king is checked, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, E8: blackRook }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const shortCastlingSquareTo: Square = { column: 'G', row: 1 }; + const longCastlingSquareTo: Square = { column: 'C', row: 1 }; + + expect(() => engine.move(kingSquareFrom, shortCastlingSquareTo)).toThrowError('Piece can not move to given square.'); + + expect(() => engine.move(kingSquareFrom, longCastlingSquareTo)).toThrowError('Piece can not move to given square.'); + }); + + it('When king is moving through check, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { A1: whiteRookA1, E1: whiteKing, H1: whiteRookH1, E3: blackKnight }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const shortCastlingSquareTo: Square = { column: 'G', row: 1 }; + const longCastlingSquareTo: Square = { column: 'C', row: 1 }; + + expect(() => engine.move(kingSquareFrom, shortCastlingSquareTo)).toThrowError('Piece can not move to given square.'); + + expect(() => engine.move(kingSquareFrom, longCastlingSquareTo)).toThrowError('Piece can not move to given square.'); + }); + + it('When king is moving into check, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { A1: whiteRookA1, E1: whiteKing, H1: whiteRookH1, E2: blackKnight }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const shortCastlingSquareTo: Square = { column: 'G', row: 1 }; + const longCastlingSquareTo: Square = { column: 'C', row: 1 }; + + expect(() => engine.move(kingSquareFrom, shortCastlingSquareTo)).toThrowError('Piece can not move to given square.'); + + expect(() => engine.move(kingSquareFrom, longCastlingSquareTo)).toThrowError('Piece can not move to given square.'); + }); + + it('When some piece is between the king and the rook, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, F1: whiteBishop, H1: whiteRookH1 }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const kingSquareTo: Square = { column: 'G', row: 1 }; + + expect(() => engine.move(kingSquareFrom, kingSquareTo)).toThrowError('Piece can not move to given square.'); + }); + + it('When the king has already moved, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, C7: blackPawn }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingStartingSquare: Square = { column: 'E', row: 1 }; + const kingFirstMoveSquare: Square = { column: 'E', row: 2 }; + const castlingSquareTo: Square = { column: 'G', row: 1 }; + const pawnStartingSquare: Square = { column: 'C', row: 7 }; + const pawnFirstMoveSquare: Square = { column: 'C', row: 6 }; + const pawnSecondMoveSquare: Square = { column: 'C', row: 5 }; + + engine.move(kingStartingSquare, kingFirstMoveSquare); + engine.move(pawnStartingSquare, pawnFirstMoveSquare); + engine.move(kingFirstMoveSquare, kingStartingSquare); + engine.move(pawnFirstMoveSquare, pawnSecondMoveSquare); + expect(() => engine.move(kingStartingSquare, castlingSquareTo)).toThrowError('Piece can not move to given square.'); + }); + it('When the rook has already moved, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, C7: blackPawn }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const kingSquareTo: Square = { column: 'G', row: 1 }; + const rookStartingSquare: Square = { column: 'H', row: 1 }; + const rookFirstMoveSquare: Square = { column: 'H', row: 2 }; + const pawnStartingSquare: Square = { column: 'C', row: 7 }; + const pawnFirstMoveSquare: Square = { column: 'C', row: 6 }; + const pawnSecondMoveSquare: Square = { column: 'C', row: 5 }; + + engine.move(rookStartingSquare, rookFirstMoveSquare); + engine.move(pawnStartingSquare, pawnFirstMoveSquare); + engine.move(rookFirstMoveSquare, rookStartingSquare); + engine.move(pawnFirstMoveSquare, pawnSecondMoveSquare); + expect(() => engine.move(kingSquareFrom, kingSquareTo)).toThrowError('Piece can not move to given square.'); }); describe('Checkmate and Stalemate event', () => { From bb39f768c0f5c9bf441d63231085a79adcc939ba Mon Sep 17 00:00:00 2001 From: Piotr Witold Rynio <41823689+PiotrWR@users.noreply.github.com> Date: Tue, 16 Feb 2021 17:14:16 +0100 Subject: [PATCH 125/134] Update | Change Stalemate and fix a small bug in test (#91) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Z podziękowaniem dla @nowakprojects @lamparina @tomdworniczak @Szambelan za ładne CodeReview poprzedniego taska * Update | Change Stalemate and fix a small bug in test * Update | Change type of Stalemate event * Update | Delete imports * Update | Delete kingPosition problem --- src/app/model/CheckmateHasOccurred.ts | 2 +- src/app/model/ChessEngine.ts | 5 +- src/app/model/StalemateHasOccurred.ts | 5 - test/app/model/ChessEngine.spec.ts | 731 ++++++++++++++------------ 4 files changed, 389 insertions(+), 354 deletions(-) diff --git a/src/app/model/CheckmateHasOccurred.ts b/src/app/model/CheckmateHasOccurred.ts index 6b498e3..03653f2 100644 --- a/src/app/model/CheckmateHasOccurred.ts +++ b/src/app/model/CheckmateHasOccurred.ts @@ -4,5 +4,5 @@ import { Square } from './Types'; export type CheckmateHasOccurred = { eventType: 'CheckmateHasOccurred'; king: King; - onSquare: Square | undefined; + onSquare: Square; }; diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index dc06360..a8c6fcb 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -337,6 +337,8 @@ export class ChessEngine implements ChessModel { if (this.isAnyPossibleMoves()) return undefined; const kingPosition = this.kingPosition(this.board, this.currentSide); + if (!kingPosition) return undefined; + return { eventType: 'CheckmateHasOccurred', king: new King(this.currentSide), @@ -348,11 +350,8 @@ export class ChessEngine implements ChessModel { if (this.isKingChecked()) return undefined; if (this.isAnyPossibleMoves()) return undefined; - const kingPosition = this.kingPosition(this.board, this.currentSide); return { eventType: 'StalemateHasOccurred', - king: new King(this.currentSide), - onSquare: kingPosition, }; } diff --git a/src/app/model/StalemateHasOccurred.ts b/src/app/model/StalemateHasOccurred.ts index 17066c8..cc615cd 100644 --- a/src/app/model/StalemateHasOccurred.ts +++ b/src/app/model/StalemateHasOccurred.ts @@ -1,8 +1,3 @@ -import { King } from './pieces'; -import { Square } from './Types'; - export type StalemateHasOccurred = { eventType: 'StalemateHasOccurred'; - king: King; - onSquare: Square | undefined; }; diff --git a/test/app/model/ChessEngine.spec.ts b/test/app/model/ChessEngine.spec.ts index 3a026f8..dd98782 100644 --- a/test/app/model/ChessEngine.spec.ts +++ b/test/app/model/ChessEngine.spec.ts @@ -424,382 +424,423 @@ describe('Chess Engine', () => { expect(() => engine.move(queenSquareFrom, queenSquareTo)).toThrowError('Piece can not move to given square.'); }); -}); - -describe('Castling can be done only if neither king nor rook has moved and none of square which the king is passing by is under attack and no piece between the king and the rook', () => { - const whiteKing = new King(Side.WHITE); - const whiteRookA1 = new Rook(Side.WHITE); - const whiteRookH1 = new Rook(Side.WHITE); - const whiteBishop = new Bishop(Side.WHITE); - const blackKing = new King(Side.BLACK); - const blackRook = new Rook(Side.BLACK); - const blackKnight = new Knight(Side.BLACK); - const blackPawn = new Pawn(Side.BLACK); - - it('Short castling can be done', () => { - const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, E8: blackKing }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const kingSquareFrom: Square = { column: 'E', row: 1 }; - const kingSquareTo: Square = { column: 'G', row: 1 }; - const rookSquareFrom: Square = { column: 'H', row: 1 }; - const rookSquareTo: Square = { column: 'F', row: 1 }; - - expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ - { eventType: 'PieceWasMoved', piece: whiteKing, from: kingSquareFrom, to: kingSquareTo }, - { eventType: 'PieceWasMoved', piece: whiteRookH1, from: rookSquareFrom, to: rookSquareTo }, - ]); - }); - - it('Long castling can be done', () => { - const boardWithPieces: SquareWithPiece = { E1: whiteKing, A1: whiteRookA1, E8: blackKing }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const kingSquareFrom: Square = { column: 'E', row: 1 }; - const kingSquareTo: Square = { column: 'C', row: 1 }; - const rookSquareFrom: Square = { column: 'A', row: 1 }; - const rookSquareTo: Square = { column: 'D', row: 1 }; - - expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ - { eventType: 'PieceWasMoved', piece: whiteKing, from: kingSquareFrom, to: kingSquareTo }, - { eventType: 'PieceWasMoved', piece: whiteRookA1, from: rookSquareFrom, to: rookSquareTo }, - ]); - }); - - it('When all conditions are fulfilled and square with rook is under attack, then short castling can be done', () => { - const boardWithPieces: SquareWithPiece = { C1: whiteBishop, E8: blackKing, H8: blackRook }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const bishopSquareFrom: Square = { column: 'C', row: 1 }; - const bishopSquareTo: Square = { column: 'B', row: 2 }; - const kingSquareFrom: Square = { column: 'E', row: 8 }; - const kingSquareTo: Square = { column: 'G', row: 8 }; - const rookSquareFrom: Square = { column: 'H', row: 8 }; - const rookSquareTo: Square = { column: 'F', row: 8 }; - - engine.move(bishopSquareFrom, bishopSquareTo); - expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ - { eventType: 'PieceWasMoved', piece: blackKing, from: kingSquareFrom, to: kingSquareTo }, - { eventType: 'PieceWasMoved', piece: blackRook, from: rookSquareFrom, to: rookSquareTo }, - ]); - }); - - it('When all conditions are fulfilled and square B8 is under attack, then long castling can be done', () => { - const boardWithPieces: SquareWithPiece = { G1: whiteBishop, E8: blackKing, A8: blackRook }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const bishopSquareFrom: Square = { column: 'G', row: 1 }; - const bishopSquareTo: Square = { column: 'H', row: 2 }; - const kingSquareFrom: Square = { column: 'E', row: 8 }; - const kingSquareTo: Square = { column: 'C', row: 8 }; - const rookSquareFrom: Square = { column: 'A', row: 8 }; - const rookSquareTo: Square = { column: 'D', row: 8 }; - - engine.move(bishopSquareFrom, bishopSquareTo); - expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ - { eventType: 'PieceWasMoved', piece: blackKing, from: kingSquareFrom, to: kingSquareTo }, - { eventType: 'PieceWasMoved', piece: blackRook, from: rookSquareFrom, to: rookSquareTo }, - ]); - }); - - it('When all conditions are fulfilled but move starts with the rook, then castling will not be done', () => { - const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, E8: blackKing }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const rookSquareFrom: Square = { column: 'H', row: 1 }; - const rookSquareTo: Square = { column: 'F', row: 1 }; - - expect(engine.move(rookSquareFrom, rookSquareTo)).toIncludeSameMembers([ - { eventType: 'PieceWasMoved', piece: whiteRookH1, from: rookSquareFrom, to: rookSquareTo }, - ]); - }); - - it('When king is checked, then castling cannot be done', () => { - const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, E8: blackRook }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const kingSquareFrom: Square = { column: 'E', row: 1 }; - const shortCastlingSquareTo: Square = { column: 'G', row: 1 }; - const longCastlingSquareTo: Square = { column: 'C', row: 1 }; - - expect(() => engine.move(kingSquareFrom, shortCastlingSquareTo)).toThrowError('Piece can not move to given square.'); - - expect(() => engine.move(kingSquareFrom, longCastlingSquareTo)).toThrowError('Piece can not move to given square.'); - }); - - it('When king is moving through check, then castling cannot be done', () => { - const boardWithPieces: SquareWithPiece = { A1: whiteRookA1, E1: whiteKing, H1: whiteRookH1, E3: blackKnight }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const kingSquareFrom: Square = { column: 'E', row: 1 }; - const shortCastlingSquareTo: Square = { column: 'G', row: 1 }; - const longCastlingSquareTo: Square = { column: 'C', row: 1 }; - - expect(() => engine.move(kingSquareFrom, shortCastlingSquareTo)).toThrowError('Piece can not move to given square.'); - - expect(() => engine.move(kingSquareFrom, longCastlingSquareTo)).toThrowError('Piece can not move to given square.'); - }); - - it('When king is moving into check, then castling cannot be done', () => { - const boardWithPieces: SquareWithPiece = { A1: whiteRookA1, E1: whiteKing, H1: whiteRookH1, E2: blackKnight }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const kingSquareFrom: Square = { column: 'E', row: 1 }; - const shortCastlingSquareTo: Square = { column: 'G', row: 1 }; - const longCastlingSquareTo: Square = { column: 'C', row: 1 }; - - expect(() => engine.move(kingSquareFrom, shortCastlingSquareTo)).toThrowError('Piece can not move to given square.'); - - expect(() => engine.move(kingSquareFrom, longCastlingSquareTo)).toThrowError('Piece can not move to given square.'); - }); - - it('When some piece is between the king and the rook, then castling cannot be done', () => { - const boardWithPieces: SquareWithPiece = { E1: whiteKing, F1: whiteBishop, H1: whiteRookH1 }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const kingSquareFrom: Square = { column: 'E', row: 1 }; - const kingSquareTo: Square = { column: 'G', row: 1 }; - - expect(() => engine.move(kingSquareFrom, kingSquareTo)).toThrowError('Piece can not move to given square.'); - }); - - it('When the king has already moved, then castling cannot be done', () => { - const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, C7: blackPawn }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const kingStartingSquare: Square = { column: 'E', row: 1 }; - const kingFirstMoveSquare: Square = { column: 'E', row: 2 }; - const castlingSquareTo: Square = { column: 'G', row: 1 }; - const pawnStartingSquare: Square = { column: 'C', row: 7 }; - const pawnFirstMoveSquare: Square = { column: 'C', row: 6 }; - const pawnSecondMoveSquare: Square = { column: 'C', row: 5 }; - - engine.move(kingStartingSquare, kingFirstMoveSquare); - engine.move(pawnStartingSquare, pawnFirstMoveSquare); - engine.move(kingFirstMoveSquare, kingStartingSquare); - engine.move(pawnFirstMoveSquare, pawnSecondMoveSquare); - expect(() => engine.move(kingStartingSquare, castlingSquareTo)).toThrowError('Piece can not move to given square.'); - }); - it('When the rook has already moved, then castling cannot be done', () => { - const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, C7: blackPawn }; - const chessBoard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessBoard); - const kingSquareFrom: Square = { column: 'E', row: 1 }; - const kingSquareTo: Square = { column: 'G', row: 1 }; - const rookStartingSquare: Square = { column: 'H', row: 1 }; - const rookFirstMoveSquare: Square = { column: 'H', row: 2 }; - const pawnStartingSquare: Square = { column: 'C', row: 7 }; - const pawnFirstMoveSquare: Square = { column: 'C', row: 6 }; - const pawnSecondMoveSquare: Square = { column: 'C', row: 5 }; - - engine.move(rookStartingSquare, rookFirstMoveSquare); - engine.move(pawnStartingSquare, pawnFirstMoveSquare); - engine.move(rookFirstMoveSquare, rookStartingSquare); - engine.move(pawnFirstMoveSquare, pawnSecondMoveSquare); - expect(() => engine.move(kingSquareFrom, kingSquareTo)).toThrowError('Piece can not move to given square.'); - }); - describe('Checkmate and Stalemate event', () => { + describe('Castling can be done only if neither king nor rook has moved and none of square which the king is passing by is under attack and no piece between the king and the rook', () => { const whiteKing = new King(Side.WHITE); + const whiteRookA1 = new Rook(Side.WHITE); + const whiteRookH1 = new Rook(Side.WHITE); + const whiteBishop = new Bishop(Side.WHITE); const blackKing = new King(Side.BLACK); - const whiteRook = new Rook(Side.WHITE); const blackRook = new Rook(Side.BLACK); + const blackKnight = new Knight(Side.BLACK); const blackPawn = new Pawn(Side.BLACK); - const descriptionWithoutCheckmate = `Should't return checkmate event If checkmate Hasn't Occurred.`; - const descriptionWithCheckmate = `Should return checkmate event If checkmate Has Occurred.`; - const descriptionWithStalemate = `Should return Stalemate event If stalemate Has Occurred.`; - - it(`${descriptionWithoutCheckmate} Enemy king is not checked`, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - B1: whiteRook, - H8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const startPiecePosition: Square = { column: 'B', row: 1 }; - const endPiecePosition: Square = { column: 'B', row: 2 }; - - const returnedResult = engine.move(startPiecePosition, endPiecePosition); - - const expectedResult = [ - { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 2 } }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + it('Short castling can be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, E8: blackKing }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const kingSquareTo: Square = { column: 'G', row: 1 }; + const rookSquareFrom: Square = { column: 'H', row: 1 }; + const rookSquareTo: Square = { column: 'F', row: 1 }; + + expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: whiteKing, from: kingSquareFrom, to: kingSquareTo }, + { eventType: 'PieceWasMoved', piece: whiteRookH1, from: rookSquareFrom, to: rookSquareTo }, + ]); }); - it(`${descriptionWithoutCheckmate} Enemy king is checked.`, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - B1: whiteRook, - H8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const startPiecePosition: Square = { column: 'B', row: 1 }; - const endPiecePosition: Square = { column: 'B', row: 8 }; - - const returnedResult = engine.move(startPiecePosition, endPiecePosition); + it('Long castling can be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, A1: whiteRookA1, E8: blackKing }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const kingSquareTo: Square = { column: 'C', row: 1 }; + const rookSquareFrom: Square = { column: 'A', row: 1 }; + const rookSquareTo: Square = { column: 'D', row: 1 }; + + expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: whiteKing, from: kingSquareFrom, to: kingSquareTo }, + { eventType: 'PieceWasMoved', piece: whiteRookA1, from: rookSquareFrom, to: rookSquareTo }, + ]); + }); - const expectedResult = [ - { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 8 } }, - { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + it('When all conditions are fulfilled and square with rook is under attack, then short castling can be done', () => { + const boardWithPieces: SquareWithPiece = { C1: whiteBishop, E8: blackKing, H8: blackRook }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const bishopSquareFrom: Square = { column: 'C', row: 1 }; + const bishopSquareTo: Square = { column: 'B', row: 2 }; + const kingSquareFrom: Square = { column: 'E', row: 8 }; + const kingSquareTo: Square = { column: 'G', row: 8 }; + const rookSquareFrom: Square = { column: 'H', row: 8 }; + const rookSquareTo: Square = { column: 'F', row: 8 }; + + engine.move(bishopSquareFrom, bishopSquareTo); + expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: blackKing, from: kingSquareFrom, to: kingSquareTo }, + { eventType: 'PieceWasMoved', piece: blackRook, from: rookSquareFrom, to: rookSquareTo }, + ]); }); - it(`${descriptionWithoutCheckmate} Enemy king is checked. King can capture.`, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - B1: whiteRook, - G7: whiteRook, - H7: blackRook, - H8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const startPiecePosition: Square = { column: 'B', row: 1 }; - const endPiecePosition: Square = { column: 'B', row: 8 }; + it('When all conditions are fulfilled and square B8 is under attack, then long castling can be done', () => { + const boardWithPieces: SquareWithPiece = { G1: whiteBishop, E8: blackKing, A8: blackRook }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const bishopSquareFrom: Square = { column: 'G', row: 1 }; + const bishopSquareTo: Square = { column: 'H', row: 2 }; + const kingSquareFrom: Square = { column: 'E', row: 8 }; + const kingSquareTo: Square = { column: 'C', row: 8 }; + const rookSquareFrom: Square = { column: 'A', row: 8 }; + const rookSquareTo: Square = { column: 'D', row: 8 }; + + engine.move(bishopSquareFrom, bishopSquareTo); + expect(engine.move(kingSquareFrom, kingSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: blackKing, from: kingSquareFrom, to: kingSquareTo }, + { eventType: 'PieceWasMoved', piece: blackRook, from: rookSquareFrom, to: rookSquareTo }, + ]); + }); - const returnedResult = engine.move(startPiecePosition, endPiecePosition); + it('When all conditions are fulfilled but move starts with the rook, then castling will not be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, E8: blackKing }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const rookSquareFrom: Square = { column: 'H', row: 1 }; + const rookSquareTo: Square = { column: 'F', row: 1 }; - const expectedResult = [ - { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 8 } }, - { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(engine.move(rookSquareFrom, rookSquareTo)).toIncludeSameMembers([ + { eventType: 'PieceWasMoved', piece: whiteRookH1, from: rookSquareFrom, to: rookSquareTo }, + ]); }); - it(descriptionWithCheckmate, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - A7: whiteRook, - B1: whiteRook, - H8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const startPiecePosition: Square = { column: 'B', row: 1 }; - const endPiecePosition: Square = { column: 'B', row: 8 }; + it('When king is checked, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, E8: blackRook }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const shortCastlingSquareTo: Square = { column: 'G', row: 1 }; + const longCastlingSquareTo: Square = { column: 'C', row: 1 }; - const returnedResult = engine.move(startPiecePosition, endPiecePosition); + expect(() => engine.move(kingSquareFrom, shortCastlingSquareTo)).toThrowError('Piece can not move to given square.'); - const expectedResult = [ - { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 8 } }, - { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - { eventType: 'CheckmateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(() => engine.move(kingSquareFrom, longCastlingSquareTo)).toThrowError('Piece can not move to given square.'); }); - it(descriptionWithCheckmate, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - B1: whiteRook, - H7: blackPawn, - G7: blackPawn, - H8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const startPiecePosition: Square = { column: 'B', row: 1 }; - const endPiecePosition: Square = { column: 'B', row: 8 }; + it('When king is moving through check, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { A1: whiteRookA1, E1: whiteKing, H1: whiteRookH1, E3: blackKnight }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const shortCastlingSquareTo: Square = { column: 'G', row: 1 }; + const longCastlingSquareTo: Square = { column: 'C', row: 1 }; - const returnedResult = engine.move(startPiecePosition, endPiecePosition); + expect(() => engine.move(kingSquareFrom, shortCastlingSquareTo)).toThrowError('Piece can not move to given square.'); - const expectedResult = [ - { eventType: 'PieceWasMoved', from: { column: 'B', row: 1 }, piece: { name: 'Rook', side: 'WHITE' }, to: { column: 'B', row: 8 } }, - { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - { eventType: 'CheckmateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(() => engine.move(kingSquareFrom, longCastlingSquareTo)).toThrowError('Piece can not move to given square.'); }); - it(`${descriptionWithCheckmate} Black king and black rook cannot capture`, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - B1: whiteRook, - G6: whiteRook, - G7: whiteRook, - H6: whiteRook, - H7: blackRook, - H8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const startPiecePosition: Square = { column: 'B', row: 1 }; - const endPiecePosition: Square = { column: 'B', row: 8 }; + it('When king is moving into check, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { A1: whiteRookA1, E1: whiteKing, H1: whiteRookH1, E2: blackKnight }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const shortCastlingSquareTo: Square = { column: 'G', row: 1 }; + const longCastlingSquareTo: Square = { column: 'C', row: 1 }; - const returnedResult = engine.move(startPiecePosition, endPiecePosition); + expect(() => engine.move(kingSquareFrom, shortCastlingSquareTo)).toThrowError('Piece can not move to given square.'); - const expectedResult = [ - { - eventType: 'PieceWasMoved', - from: { column: 'B', row: 1 }, - piece: { name: 'Rook', side: 'WHITE' }, - to: { column: 'B', row: 8 }, - }, - { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - { eventType: 'CheckmateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(() => engine.move(kingSquareFrom, longCastlingSquareTo)).toThrowError('Piece can not move to given square.'); }); - it(`${descriptionWithCheckmate} Black king and black rook cannot capture`, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - B1: whiteRook, - G6: whiteRook, - G7: whiteRook, - H6: whiteRook, - H7: blackRook, - H8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const startPiecePosition: Square = { column: 'B', row: 1 }; - const endPiecePosition: Square = { column: 'B', row: 8 }; + it('When some piece is between the king and the rook, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, F1: whiteBishop, H1: whiteRookH1 }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const kingSquareTo: Square = { column: 'G', row: 1 }; - const returnedResult = engine.move(startPiecePosition, endPiecePosition); - - const expectedResult = [ - { - eventType: 'PieceWasMoved', - from: { column: 'B', row: 1 }, - piece: { name: 'Rook', side: 'WHITE' }, - to: { column: 'B', row: 8 }, - }, - { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - { eventType: 'CheckmateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + expect(() => engine.move(kingSquareFrom, kingSquareTo)).toThrowError('Piece can not move to given square.'); }); - it(descriptionWithStalemate, () => { - const boardWithPieces: SquareWithPiece = { - A1: whiteKing, - A6: whiteRook, - G7: whiteRook, - H8: blackKing, - }; - const chessboard = new Chessboard(boardWithPieces); - const engine = new ChessEngine(chessboard); - const startPiecePosition: Square = { column: 'A', row: 6 }; - const endPiecePosition: Square = { column: 'G', row: 6 }; - - const returnedResult = engine.move(startPiecePosition, endPiecePosition); + it('When the king has already moved, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, C7: blackPawn }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingStartingSquare: Square = { column: 'E', row: 1 }; + const kingFirstMoveSquare: Square = { column: 'E', row: 2 }; + const castlingSquareTo: Square = { column: 'G', row: 1 }; + const pawnStartingSquare: Square = { column: 'C', row: 7 }; + const pawnFirstMoveSquare: Square = { column: 'C', row: 6 }; + const pawnSecondMoveSquare: Square = { column: 'C', row: 5 }; + + engine.move(kingStartingSquare, kingFirstMoveSquare); + engine.move(pawnStartingSquare, pawnFirstMoveSquare); + engine.move(kingFirstMoveSquare, kingStartingSquare); + engine.move(pawnFirstMoveSquare, pawnSecondMoveSquare); + expect(() => engine.move(kingStartingSquare, castlingSquareTo)).toThrowError('Piece can not move to given square.'); + }); + it('When the rook has already moved, then castling cannot be done', () => { + const boardWithPieces: SquareWithPiece = { E1: whiteKing, H1: whiteRookH1, C7: blackPawn }; + const chessBoard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessBoard); + const kingSquareFrom: Square = { column: 'E', row: 1 }; + const kingSquareTo: Square = { column: 'G', row: 1 }; + const rookStartingSquare: Square = { column: 'H', row: 1 }; + const rookFirstMoveSquare: Square = { column: 'H', row: 2 }; + const pawnStartingSquare: Square = { column: 'C', row: 7 }; + const pawnFirstMoveSquare: Square = { column: 'C', row: 6 }; + const pawnSecondMoveSquare: Square = { column: 'C', row: 5 }; + + engine.move(rookStartingSquare, rookFirstMoveSquare); + engine.move(pawnStartingSquare, pawnFirstMoveSquare); + engine.move(rookFirstMoveSquare, rookStartingSquare); + engine.move(pawnFirstMoveSquare, pawnSecondMoveSquare); + expect(() => engine.move(kingSquareFrom, kingSquareTo)).toThrowError('Piece can not move to given square.'); + }); - const expectedResult = [ - { - eventType: 'PieceWasMoved', - from: { column: 'A', row: 6 }, - piece: { name: 'Rook', side: 'WHITE' }, - to: { column: 'G', row: 6 }, - }, - { eventType: 'StalemateHasOccurred', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, - ]; - expect(returnedResult).toIncludeSameMembers(expectedResult); + describe('Checkmate and Stalemate event', () => { + const whiteKing = new King(Side.WHITE); + const blackKing = new King(Side.BLACK); + const whiteRook = new Rook(Side.WHITE); + const blackRook = new Rook(Side.BLACK); + const blackPawn = new Pawn(Side.BLACK); + + const descriptionWithoutCheckmate = `Should't return checkmate event If checkmate Hasn't Occurred.`; + const descriptionWithCheckmate = `Should return checkmate event If checkmate Has Occurred.`; + const descriptionWithStalemate = `Should return Stalemate event If stalemate Has Occurred.`; + + it(`${descriptionWithoutCheckmate} Enemy king is not checked`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 2 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'B', row: 1 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'B', row: 2 }, + }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`${descriptionWithoutCheckmate} Enemy king is checked.`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'B', row: 1 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'B', row: 8 }, + }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`${descriptionWithoutCheckmate} Enemy king is checked. King can capture.`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + G7: whiteRook, + H7: blackRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'B', row: 1 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'B', row: 8 }, + }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(descriptionWithCheckmate, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + A7: whiteRook, + B1: whiteRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'B', row: 1 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'B', row: 8 }, + }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + { + eventType: 'CheckmateHasOccurred', + king: { name: 'King', side: 'BLACK' }, + onSquare: { column: 'H', row: 8 }, + }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(descriptionWithCheckmate, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + H7: blackPawn, + G7: blackPawn, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'B', row: 1 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'B', row: 8 }, + }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + { + eventType: 'CheckmateHasOccurred', + king: { name: 'King', side: 'BLACK' }, + onSquare: { column: 'H', row: 8 }, + }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`${descriptionWithCheckmate} Black king and black rook cannot capture`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + G6: whiteRook, + G7: whiteRook, + H6: whiteRook, + H7: blackRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'B', row: 1 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'B', row: 8 }, + }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + { + eventType: 'CheckmateHasOccurred', + king: { name: 'King', side: 'BLACK' }, + onSquare: { column: 'H', row: 8 }, + }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(`${descriptionWithCheckmate} Black king and black rook cannot capture`, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + B1: whiteRook, + G6: whiteRook, + G7: whiteRook, + H6: whiteRook, + H7: blackRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'B', row: 1 }; + const endPiecePosition: Square = { column: 'B', row: 8 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'B', row: 1 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'B', row: 8 }, + }, + { eventType: 'KingWasChecked', king: { name: 'King', side: 'BLACK' }, onSquare: { column: 'H', row: 8 } }, + { + eventType: 'CheckmateHasOccurred', + king: { name: 'King', side: 'BLACK' }, + onSquare: { column: 'H', row: 8 }, + }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); + + it(descriptionWithStalemate, () => { + const boardWithPieces: SquareWithPiece = { + A1: whiteKing, + A6: whiteRook, + G7: whiteRook, + H8: blackKing, + }; + const chessboard = new Chessboard(boardWithPieces); + const engine = new ChessEngine(chessboard); + const startPiecePosition: Square = { column: 'A', row: 6 }; + const endPiecePosition: Square = { column: 'G', row: 6 }; + + const returnedResult = engine.move(startPiecePosition, endPiecePosition); + + const expectedResult = [ + { + eventType: 'PieceWasMoved', + from: { column: 'A', row: 6 }, + piece: { name: 'Rook', side: 'WHITE' }, + to: { column: 'G', row: 6 }, + }, + { eventType: 'StalemateHasOccurred' }, + ]; + expect(returnedResult).toIncludeSameMembers(expectedResult); + }); }); }); }); From 3578093b3ab57fa0045dfe2824449530603b3e7b Mon Sep 17 00:00:00 2001 From: DomiZet <57037612+DomiZet@users.noreply.github.com> Date: Tue, 16 Feb 2021 17:25:04 +0100 Subject: [PATCH 126/134] Create modal window for pawn promotion (#76) * Create modal window for pawn promotion * Selected figure to be promoted * Proba skonczenia zadanka * Rename modal's css classes * Promotion modal and it's test * Changes in modal event * #76 modal window for pawn promotion - Model * #76 make promotingOnSquare private again * #76 remove dead code * #76 CR fixes Co-authored-by: Pawel Szambelan Co-authored-by: lamparina <59768305+lamparina@users.noreply.github.com> Co-authored-by: lamparina --- sass/layouts/_promotionModal.scss | 82 +++++++++++++++++++ sass/style.scss | 1 + src/app/model/ChessEngine.ts | 41 +++++++++- src/app/model/ChessModel.ts | 2 + src/app/model/PawnWasPromoted.ts | 8 ++ src/app/presenter/ChessBoardPresenter.ts | 32 +++++++- src/app/view/ChessBoardView.ts | 3 +- src/app/view/events/PromotionChosenPiece.ts | 7 ++ src/app/view/web/WebChessView.ts | 54 ++++++++++++ .../app/presenter/ChessBoardPresenter.spec.ts | 68 ++++++++++++++- 10 files changed, 292 insertions(+), 6 deletions(-) create mode 100644 sass/layouts/_promotionModal.scss create mode 100644 src/app/model/PawnWasPromoted.ts create mode 100644 src/app/view/events/PromotionChosenPiece.ts diff --git a/sass/layouts/_promotionModal.scss b/sass/layouts/_promotionModal.scss new file mode 100644 index 0000000..de66551 --- /dev/null +++ b/sass/layouts/_promotionModal.scss @@ -0,0 +1,82 @@ +.modal { + position: fixed; + z-index: 1; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: auto; + background-color: rgb(0, 0, 0); + background-color: rgba(0, 0, 0, 0.4); + -webkit-animation-name: fadeIn; + -webkit-animation-duration: 0.4s; + animation-name: fadeIn; + animation-duration: 0.4s; + + &__window { + height: 200px; + padding: 0.5rem 0 2rem 0; + padding: 0.5rem 1rem 2rem 2rem; + font-size: 2rem; + font-weight: bold; + position: fixed; + bottom: 0; + background-color: whitesmoke; + width: 100%; + -webkit-animation-name: slideIn; + -webkit-animation-duration: 0.4s; + animation-name: slideIn; + animation-duration: 0.4s; + display: flex; + flex-direction: column; + justify-content: space-evenly; + text-align: center; + } + &__wrap { + box-sizing: content-box; + display: flex; + justify-content: space-evenly; + align-items: center; + } + &__pawn { + width: 15%; + padding: 1rem 0; + font-size: 2rem; + font-weight: normal; + background-color: #fea6; + border-radius: 5px; + border: solid 2px black; + display: flex; + align-items: center; + justify-content: center; + box-shadow: 15px 8px 46px -11px rgba(112, 109, 109, 0.75); + transition: 0.5s; + &:hover { + background-color: black; + color: rgba(255, 238, 170, 0.986); + transition: 0.5s; + cursor: pointer; + box-shadow: 15px 8px 46px -11px black; + } + } +} + +@keyframes slideIn { + from { + bottom: -300px; + opacity: 0; + } + to { + bottom: 0; + opacity: 1; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} diff --git a/sass/style.scss b/sass/style.scss index 28df67a..2f3d423 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -12,3 +12,4 @@ @import 'components/piece'; // * LAYOUTS +@import 'layouts/promotionModal'; diff --git a/src/app/model/ChessEngine.ts b/src/app/model/ChessEngine.ts index a8c6fcb..3b2527f 100644 --- a/src/app/model/ChessEngine.ts +++ b/src/app/model/ChessEngine.ts @@ -1,6 +1,6 @@ import { ChessModel } from './ChessModel'; +import { Bishop, King, Knight, Pawn, Piece, Queen, Rook } from './pieces'; import { Column, columns, Row, Side, Square, SquareWithPiece } from './Types'; -import { King, Pawn, Piece, Rook } from './pieces'; import { Chessboard } from './Chessboard'; import { PieceWasMoved } from './PieceWasMoved'; import { PieceWasCaptured } from './PieceWasCaptured'; @@ -9,6 +9,7 @@ import { isDefined } from './HelperFunctions'; import { KingWasChecked } from './KingWasChecked'; import { KingWasUnchecked } from './KingWasUnchecked'; import { MoveResult } from './MoveResult'; +import { PawnWasPromoted } from './PawnWasPromoted'; import { CheckmateHasOccurred } from './CheckmateHasOccurred'; import { StalemateHasOccurred } from './StalemateHasOccurred'; @@ -77,6 +78,44 @@ export class ChessEngine implements ChessModel { ].filter(this.hasOccurred); } + pawnWasPromoted(chosenPiece: string): PawnWasPromoted | undefined { + if (!this.promotingOnSquare) { + return undefined; + } + + const onSquarePromotion = this.promotingOnSquare; + const pawnToRemove = this.squaresWithPiece[this.translateSquareToAlgebraicNotationCapital(onSquarePromotion)]; + const createChosenPiece = this.objectCreator(chosenPiece, pawnToRemove.side); + this.squaresWithPiece[this.translateSquareToAlgebraicNotationCapital(onSquarePromotion)] = createChosenPiece; + this.promotingOnSquare = undefined; + this.currentSide = this.anotherSide(this.currentSide); + + return { + eventType: 'PawnWasPromoted', + onSquare: onSquarePromotion, + chosenPiece: createChosenPiece, + }; + } + + private translateSquareToAlgebraicNotationCapital(square: Square): string { + return `${square.column}${square.row}`; + } + + private objectCreator(pieceName: string, side: Side): Knight | Rook | Bishop | Queen { + switch (pieceName) { + case 'Queen': + return new Queen(side); + case 'Rook': + return new Rook(side); + case 'Bishop': + return new Bishop(side); + case 'Knight': + return new Knight(side); + default: + throw new Error(); + } + } + public possibleMoves(pieceMovingFrom: Square): Square[] { const possibleMoves = this.board.onPositionPiece(pieceMovingFrom)?.possibleMoves(pieceMovingFrom, this.board) ?? []; const castlingMoves = this.castlingMoves(pieceMovingFrom); diff --git a/src/app/model/ChessModel.ts b/src/app/model/ChessModel.ts index 83ee49b..7292636 100644 --- a/src/app/model/ChessModel.ts +++ b/src/app/model/ChessModel.ts @@ -1,8 +1,10 @@ import { Square, SquareWithPiece } from './Types'; import { MoveResult } from './MoveResult'; +import { PawnWasPromoted } from './PawnWasPromoted'; export interface ChessModel { readonly squaresWithPiece: SquareWithPiece; possibleMoves(position: Square): Square[]; move(squareFrom: Square, squareTo: Square): MoveResult[]; + pawnWasPromoted(chosenPiece: string): PawnWasPromoted | undefined; } diff --git a/src/app/model/PawnWasPromoted.ts b/src/app/model/PawnWasPromoted.ts new file mode 100644 index 0000000..02ee69d --- /dev/null +++ b/src/app/model/PawnWasPromoted.ts @@ -0,0 +1,8 @@ +import { Square } from './Types'; +import { Knight, Rook, Bishop, Queen } from './pieces'; + +export type PawnWasPromoted = { + eventType: 'PawnWasPromoted'; + onSquare: Square; + chosenPiece: Queen | Rook | Bishop | Knight; +}; diff --git a/src/app/presenter/ChessBoardPresenter.ts b/src/app/presenter/ChessBoardPresenter.ts index f7d5806..f518408 100644 --- a/src/app/presenter/ChessBoardPresenter.ts +++ b/src/app/presenter/ChessBoardPresenter.ts @@ -3,19 +3,35 @@ import { Position } from './Position'; import { ChessModel, columns, Row, Square } from '../model'; import { SquareWasClicked } from '../view/events/SquareWasClicked'; import { MoveResult } from '../model/MoveResult'; +import { PromotionChosenPiece } from '../view/events/PromotionChosenPiece'; export class ChessBoardPresenter { constructor(private readonly view: ChessBoardView, private readonly chessModel: ChessModel) { - view.listenOn('SquareWasClicked', (event) => this.onSquareWasClicked(event.position)); + view.listenOn('SquareWasClicked', (event) => { + this.onSquareWasClicked(event.position); + }); + view.listenOn('PromotionChosenPiece', (event) => { + this.onPromotionPieceWasClicked(event.chosenPiece); + }); } private lastPossibleMoves: string[] = []; private lastMoveAsPosition: Position = { x: 0, y: 0 }; + onPromotionPieceWasClicked(chosenPiece: string): void { + const pawnWasPromoted = this.chessModel.pawnWasPromoted(chosenPiece); + if (pawnWasPromoted) { + this.view.afterPromotionPiece( + this.translateSquareToAlgebraicNotation(pawnWasPromoted.onSquare), + pawnWasPromoted.chosenPiece.name.toLowerCase(), + pawnWasPromoted.chosenPiece.side, + ); + } + } + onSquareWasClicked(position: Position): void { this.view.hideSelection(); this.view.showSelectedPiece(this.translatePositionToAlgebraicNotation(position)); - this.view.hideAllAvailableMoves(); const squaresStringArray = this.getPossibleMoves(position); this.view.showAvailableMoves(squaresStringArray); @@ -57,6 +73,18 @@ export class ChessBoardPresenter { case 'PieceWasMoved': this.view.movePiece(this.translateSquareToAlgebraicNotation(event.from), this.translateSquareToAlgebraicNotation(event.to)); break; + case 'PawnPromotionWasEnabled': + this.view.pawnPromotion(); + break; + // case 'PawnWasPromoted': + // this.view.afterPromotionPiece( + // this.translateSquareToAlgebraicNotation(event.onSquare), + // event.chosenPiece.name.toLowerCase(), + // event.chosenPiece.side, + // ); + // break; + default: + break; } } diff --git a/src/app/view/ChessBoardView.ts b/src/app/view/ChessBoardView.ts index 8182ec4..965bc59 100644 --- a/src/app/view/ChessBoardView.ts +++ b/src/app/view/ChessBoardView.ts @@ -10,9 +10,10 @@ export interface ChessBoardView extends ViewEventSource { //TODO: Do zmiany, brakuje jaka bierke pokazac showSelectedPiece(id: string): void; - + pawnPromotion(): void; hideSelection(): void; movePiece(squareFrom: string, squareTo: string): void; capturePiece(onSquare: string): void; + afterPromotionPiece(onSquare: string, piece: string, side: string): void; } diff --git a/src/app/view/events/PromotionChosenPiece.ts b/src/app/view/events/PromotionChosenPiece.ts new file mode 100644 index 0000000..f168a36 --- /dev/null +++ b/src/app/view/events/PromotionChosenPiece.ts @@ -0,0 +1,7 @@ +import { ViewEvent } from './ViewEvent'; + +export class PromotionChosenPiece implements ViewEvent { + readonly eventType: string = 'PromotionChosenPiece'; + + constructor(readonly chosenPiece: string) {} +} diff --git a/src/app/view/web/WebChessView.ts b/src/app/view/web/WebChessView.ts index aadb410..3b35099 100644 --- a/src/app/view/web/WebChessView.ts +++ b/src/app/view/web/WebChessView.ts @@ -3,6 +3,7 @@ import { ChessBoardView } from '../ChessBoardView'; import { ViewEventBus } from '../events/ViewEventBus'; import { ViewEvent } from '../events/ViewEvent'; import { SquareWasClicked } from '../events/SquareWasClicked'; +import { PromotionChosenPiece } from '../events/PromotionChosenPiece'; import { PiecesBoardPositions } from '../Types'; export class WebChessView implements ChessBoardView { @@ -65,6 +66,15 @@ export class WebChessView implements ChessBoardView { } } + afterPromotionPiece(onSquare: string, piece: string, side: string) { + const divFrom = this.parent.querySelector(`#${onSquare}`); + const pieceImage = divFrom?.firstChild as HTMLImageElement; + + if (pieceImage) { + pieceImage.src = `static/img/pieces/${side}-${piece}.svg`; + } + } + private renderPiecesOnBoard(piecesPositions: PiecesBoardPositions) { Object.keys(piecesPositions) .map((square) => { @@ -86,4 +96,48 @@ export class WebChessView implements ChessBoardView { newPieceElement.src = pieceImage; return newPieceElement; } + + pawnPromotion(): void { + const promotionModal = document.createElement('div'); + promotionModal.classList.add('modal'); + document.body.appendChild(promotionModal); + + const modalWindow = document.createElement('div'); + modalWindow.classList.add('modal__window'); + modalWindow.textContent = 'Choose your promotion pawn'; + promotionModal.appendChild(modalWindow); + + const modalPawnWrap = document.createElement('h1'); + modalPawnWrap.classList.add('modal__wrap'); + modalWindow.appendChild(modalPawnWrap); + + const queenPromotion = document.createElement('div'); + queenPromotion.classList.add('modal__pawn'); + queenPromotion.textContent = 'Queen'; + modalPawnWrap.appendChild(queenPromotion); + + const rookPromotion = document.createElement('div'); + rookPromotion.classList.add('modal__pawn'); + rookPromotion.textContent = 'Rook'; + modalPawnWrap.appendChild(rookPromotion); + + const knightPromotion = document.createElement('div'); + knightPromotion.classList.add('modal__pawn'); + knightPromotion.textContent = 'Knight'; + modalPawnWrap.appendChild(knightPromotion); + + const bishopPromotion = document.createElement('div'); + bishopPromotion.classList.add('modal__pawn'); + bishopPromotion.textContent = 'Bishop'; + modalPawnWrap.appendChild(bishopPromotion); + + const clickedPawn = document.querySelectorAll('.modal__pawn'); + clickedPawn.forEach((element) => { + element.addEventListener('click', () => { + // console.log(element.innerHTML); + this.viewEventBus.publish(new PromotionChosenPiece(element.innerHTML)); + promotionModal.style.display = 'none'; + }); + }); + } } diff --git a/test/app/presenter/ChessBoardPresenter.spec.ts b/test/app/presenter/ChessBoardPresenter.spec.ts index 3b6cd15..5b01cc7 100644 --- a/test/app/presenter/ChessBoardPresenter.spec.ts +++ b/test/app/presenter/ChessBoardPresenter.spec.ts @@ -1,6 +1,7 @@ +import { SquareWithPiece } from '../model/BoardFixture'; import '@testing-library/jest-dom'; import { ChessBoardView } from '../../../src/app/view/ChessBoardView'; -import { ChessModel, Pawn, Side, Square } from '../../../src/app/model'; +import { Bishop, ChessModel, King, Knight, Pawn, Queen, Rook, Side, Square } from '../../../src/app/model'; import { ChessBoardPresenter } from '../../../src/app/presenter/ChessBoardPresenter'; import { ViewEventBus } from '../../../src/app/view/events/ViewEventBus'; import { ViewEvent } from '../../../src/app/view/events/ViewEvent'; @@ -37,7 +38,12 @@ describe('ChessBoardPresenter', () => { it('when game starts, check if pieces will show on the screen', () => { const viewEvents: ViewEventBus = new InMemoryViewEventBus(); const view: ChessBoardView = chessBoardViewMock(viewEvents); - const model: ChessModel = { squaresWithPiece: PIECES_START_POSITION, move: jest.fn(), possibleMoves: jest.fn() }; + const model: ChessModel = { + squaresWithPiece: PIECES_START_POSITION, + move: jest.fn(), + possibleMoves: jest.fn(), + pawnWasPromoted: jest.fn(), + }; const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); presenter.startGame(); @@ -57,6 +63,7 @@ describe('ChessBoardPresenter', () => { { column: 'A', row: 3 }, { column: 'A', row: 4 }, ], + pawnWasPromoted: jest.fn(), }; const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); @@ -83,6 +90,7 @@ describe('ChessBoardPresenter', () => { { column: 'D', row: 5 }, { column: 'C', row: 5 }, ], + pawnWasPromoted: jest.fn(), }; const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); @@ -92,6 +100,30 @@ describe('ChessBoardPresenter', () => { expect(view.capturePiece).toHaveBeenCalledWith('c5'); expect(view.movePiece).toHaveBeenCalledWith('d4', 'c5'); }); + + it('Pawn promotion', () => { + const whitePawn: Pawn = new Pawn(Side.WHITE); + const viewEvents: ViewEventBus = new InMemoryViewEventBus(); + const view: ChessBoardView = chessBoardViewMock(viewEvents); + const model: ChessModel = { + squaresWithPiece: { D7: whitePawn }, + move: (squareFrom, squareTo) => { + return [ + { eventType: 'PieceWasMoved', piece: whitePawn, from: squareFrom, to: squareTo }, + { eventType: 'PawnPromotionWasEnabled', onSquare: squareTo, pawn: whitePawn }, + ]; + }, + possibleMoves: () => [{ column: 'D', row: 8 }], + pawnWasPromoted: jest.fn(), + }; + const presenter: ChessBoardPresenter = new ChessBoardPresenter(view, model); + + viewEvents.publish(new SquareWasClicked({ x: 4, y: 7 })); + viewEvents.publish(new SquareWasClicked({ x: 4, y: 8 })); + + expect(view.movePiece).toHaveBeenCalledWith('d7', 'd8'); + expect(view.pawnPromotion).toHaveBeenCalled(); + }); }); function chessBoardViewMock(viewEventBus: ViewEventBus): ChessBoardView { @@ -104,8 +136,10 @@ function chessBoardViewMock(viewEventBus: ViewEventBus): ChessBoardView { hideSelection: jest.fn(), showAvailableMoves: jest.fn(), hideAllAvailableMoves: jest.fn(), + pawnPromotion: jest.fn(), movePiece: jest.fn(), capturePiece: jest.fn(), + afterPromotionPiece: jest.fn(), }; } @@ -118,9 +152,39 @@ function chessboardStateMock(square: Square[]) { possibleMoves(position: Square): Square[] { return square; }, + pawnWasPromoted: jest.fn(), + }; + + new ChessBoardPresenter(view, model); + + return { view, viewEvents }; +} + +function promotionChessBoardStateMock(square: Square[]) { + const viewEvents: ViewEventBus = new InMemoryViewEventBus(); + const view: ChessBoardView = chessBoardViewMock(viewEvents); + const model: ChessModel = { + squaresWithPiece: mockedPiecesStartPosition, + move: jest.fn(), + possibleMoves(position: Square): Square[] { + return square; + }, + pawnWasPromoted: jest.fn(), }; new ChessBoardPresenter(view, model); return { view, viewEvents }; } + +const mockedPiecesStartPosition: SquareWithPiece = { + E1: new King(Side.WHITE), + F1: new Bishop(Side.WHITE), + G1: new Knight(Side.WHITE), + H1: new Rook(Side.WHITE), + A8: new Pawn(Side.WHITE), + B8: new Knight(Side.BLACK), + C8: new Bishop(Side.BLACK), + D8: new Queen(Side.BLACK), + E8: new King(Side.BLACK), +}; From 8b01cd3815270f0fdd66280315a4221af9f7a142 Mon Sep 17 00:00:00 2001 From: Piotr Witold Rynio <41823689+PiotrWR@users.noreply.github.com> Date: Tue, 16 Feb 2021 18:12:17 +0100 Subject: [PATCH 127/134] Update css | quick fix before deadline (#92) * First part * Add bg * next part * next part * next part * next part --- sass/_main.scss | 7 +++---- sass/_mixins.scss | 12 ------------ sass/_reset.scss | 7 +------ sass/_vars.scss | 1 + sass/components/_chessboard.scss | 8 +++++--- sass/components/_piece.scss | 11 +++-------- sass/style.scss | 14 ++++---------- static/img/background/background.png | Bin 0 -> 12092115 bytes 8 files changed, 17 insertions(+), 43 deletions(-) delete mode 100644 sass/_mixins.scss create mode 100644 static/img/background/background.png diff --git a/sass/_main.scss b/sass/_main.scss index b8df101..57d22b4 100644 --- a/sass/_main.scss +++ b/sass/_main.scss @@ -3,11 +3,10 @@ body { height: 100%; min-height: 100vh; margin: 0; - padding-top: 1rem; - // color: $color-font--primary; - // font-family: $font-family--primary; + color: $color-font--primary; + font-family: $font-family--primary; font-size: 10px; - // background-image: url('../static/assets/ui/QuizBackground.png'); + background-image: url('/static/img/background/background.png'); background-repeat: no-repeat; background-position: center; background-size: cover; diff --git a/sass/_mixins.scss b/sass/_mixins.scss deleted file mode 100644 index 63bf75d..0000000 --- a/sass/_mixins.scss +++ /dev/null @@ -1,12 +0,0 @@ -@mixin brand-main-title { - // display: inline-block; - // position: relative; - // left: calc(0); - // padding: 18px 0; - // line-height: 38px; - // font-family: $font-family--primary; - // font-style: normal; - // font-weight: bold; - // font-size: 32px; - // letter-spacing: 0.02em; -} diff --git a/sass/_reset.scss b/sass/_reset.scss index 065bd18..2c857da 100644 --- a/sass/_reset.scss +++ b/sass/_reset.scss @@ -1,8 +1,3 @@ -// * -// * nie dotykać - dobrze jest :) -// * NIE EDYTOWAĆ -// * - * { margin: 0; padding: 0; @@ -56,5 +51,5 @@ ul { } button { - outline: transparent; // dodałem ten reset ze względu na to, że Chrome dodawał mi ramkę kiedy przycisk miał :focus + outline: transparent; } diff --git a/sass/_vars.scss b/sass/_vars.scss index 6290618..63245af 100644 --- a/sass/_vars.scss +++ b/sass/_vars.scss @@ -2,6 +2,7 @@ $chessboard-size--portrait: 100vw; $chessboard-size--landscape: 100vh; //Colors +$color-font--primary: #ffd700; $button-primary: #ffd700; $button-hover: #f1bf00; $square-possibleMove: #006600; diff --git a/sass/components/_chessboard.scss b/sass/components/_chessboard.scss index 1cfceef..1c09cbd 100644 --- a/sass/components/_chessboard.scss +++ b/sass/components/_chessboard.scss @@ -1,9 +1,11 @@ .chessboard { + display: grid; height: $chessboard-size--portrait; width: $chessboard-size--portrait; + margin: auto; max-height: 100%; max-width: 100%; - display: grid; + border: 2px black solid; grid-gap: 0; grid-template-columns: repeat(8, auto); } @@ -14,11 +16,11 @@ background-size: cover; &--light { - background-image: url('../static/img/board/light.png'); + background-image: url('/static/img/board/light.png'); } &--dark { - background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)), url('../static/img/board/dark.png'); + background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)), url('/static/img/board/dark.png'); } &--possibleMove { diff --git a/sass/components/_piece.scss b/sass/components/_piece.scss index acdae7f..3cdce5e 100644 --- a/sass/components/_piece.scss +++ b/sass/components/_piece.scss @@ -1,13 +1,8 @@ .piece { - overflow: auto; position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - width: 90%; - height: auto; - margin: auto; + padding: 5%; + width: 100%; + height: 100%; animation: appearing 1s ease-in; } diff --git a/sass/style.scss b/sass/style.scss index 2f3d423..43e2f7c 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -1,15 +1,9 @@ -// * NIE ZMIENIAĆ KOLEJNOŚCI! +@import 'reset'; +@import 'fonts'; +@import 'vars'; +@import 'main'; -@import 'reset'; // reset standardowy -@import 'vars'; // ustawienie zmiennych -@import 'main'; // opisanie głównych elementów -@import 'mixins'; // miksins - główne -@import 'fonts'; // czcionki - -// * COMPONENTY @import 'components/chessboard'; @import 'components/button'; @import 'components/piece'; - -// * LAYOUTS @import 'layouts/promotionModal'; diff --git a/static/img/background/background.png b/static/img/background/background.png new file mode 100644 index 0000000000000000000000000000000000000000..3143161c907bf40013b09c414642e9fb5511bb2d GIT binary patch literal 12092115 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

nESoiD0ki*rAlA-XAaNbR$YS1-uC-bBCx$+D+ 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

%hzf(WJ~p*ovUN-k4jE#vJaSr0gVG5y7S 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%0A?3pZAtuSAJAz((Jrn0o1J7@5+yn6QBB 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

>0iRw{ho^hKly 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

xo}Xd|W0oM-T=^u2IF3xl9LHBxRAz6lQL%vw@)L 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 z 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

BNQtV?+1J&%MfbuAY6Lm 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 ?_Vxq%p6^jRDrx(1>S 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ΝwP@P5$8ppOq?wmcT;%Q8Xz)n`1O zD*UNS01wAs`$HM4KQS7;$(w3RxW0sH^FDw;k`dFc-WTf^9nb>cS^I~ z{r4j@W1^V|%V?75q3Fjc(trM3iu~u#W!34*K*~m3Ae;VDN**+1?x$=W^PCL^+^{*m zz6US&X<}~cE!gXfH4T)?s&e>l#dv4xiik(R+=SFV&3{|-?S3h8W0sw|JgGgZVH%Q@ zZ5P)-#f#SPK5|SOo4@bZ-J{Vt=YvEI@KIQie4}sC~EK*%n-dO zkbkuI{P*JM}l$zqe#%8`yMfD$WS_iFHZp$Z$GBQSQAL; z+&1Bo`>;(Tp~)nWyHdM&^zU1oV+*Ko)RG-s>Qm5c^uosu9y#!ZVfzIamJ#v@uhb7= z+b~w^vpw(4SOJC04Dqo!iPOQaJl5) z;2L=*lgZCabUShywK@$cLzbJbSWcgVRq8VMe)gAl37*n=FC7UgSuVZM=V_WHT%^3M zJE8Nddch*Ea|S%wy6ZRuzNXg}gf`%OcRM2MaHkmO}kRxOyDU}t}?hAd*`8XTup ztt|DlZxnul9XkcbtwA%9uFp%TA0+v}A5N?ycr#S5fi{vcp@-?(DJT<8L#BzQjvQ^P zgW0*1EF$d$s1M5u726%m5?E_D^Zef5BEC(8W-^v`+Im^OIl{M_QMKSc$8*lD4PT!y zopadlK{&d^a5fon?_^#tQvSJ#+%VY2Gumr}VZ|h#ewv}Q^RrEyA>ZjKDMjj66ut@9 z!?H9K86&%2JyA}M>C6|iva`QFf>%vog&E`F1PY$ir`V6bqzyfU6Gs;?oassOzOMx! zv9{y~z<91Umo)%}{FDZb#-5W{wY}y;V|p)EUy7U)oaDMCHjy1uHA;u~PneSi+*0c% z^!QZQaIplOqmm|~poQ&;PEX<2IW?qd^tY`Ynt+M3yiqBI-$XtuQ1`Rjg$S<=Krdapw&sZH?J z^CLXOmYn`rMT;slOsJ3Q_%>+T0B_BHK}rG-FC_iwzfk}{Ht^wkt3r}ZPGJ>+yoO7P zBiJ-5mMUj6D&niUryza0P^WWTAwz_;zJlSo!tin*>bJwwo%`^fCrh{-Ph)Df;057W z^L6Cy3}ry4;FucYZd1M{Y-wCAih19nadh&9&fdI=jz!;7a~cKjQ_Eu-S;ve1 zz=Bwu!|a|A@#ZZvHJ!}q2JKV>A&aE*w1yKGX~WHhnexa^KllLSAe1$=`H+Q7v|E)N zk|sMJh?GvQ}@uhPR;4<=)!|2SE$qAz8MsQ2bcgE@8W`KVjLHi6#tSqEB9c^G2M zIEaKyrLW%Kq*z!8;BXSdhnyikX3~?rZBo+`^t|%?=)HBz*gLp+whyIB&w~Z$**gYyO4;YqNiZK#XEybNzJ4NZVN(mK`+C*Fz#%EfdVMQG0cN}sXb}5OR zPN$ker?FF)46VI^M0V{&#*ZQ_SMC9yhnfo0G22eE5*vo(Ek#i$ixqpQsTSEK6XX>0 z*F813s`jgIp9mflgC+wNS~x*ws|6kd@9LtT0?T&Mh#uGf{4NBRMRE6% zSkEUdBF)GN2B{{Px5)+rzS`P6D*LY2*xT5Xjg|Z9dAE_sex9VyFaxHGl9lZ8QdZI5 za>sctBd0Ph@POK7%`#45Y0#>`B4kmf5s_W?Ug02FvHM zZf*xHc{ezB6x>*VZKAhrZXOpdKzQ>!i(mDzYCwDBf#F(3J|~H`yEt^ws9w1Yx##$) z_uLP|zD{OKd7QzgGc&~ zp!_2{()n#F!@K`lFt%ONVO>NUYZge^+~UYjRxgAo<&Ac^M3?CO0A7a^T8J>S2H!Sf zKkIC_BlP1F+yYL;qqW@eUvN+n!+&ib3E!kiHhh{3|FL>OI_vO7;hd{Pd+a!ju4_Ll zU<{{t5*M{;?v=P3vlXVJf!v zs_MJ1^1*;ul3ms~naXNvx^>Y6-6V5By8<^(xWtO8KjPpm>xw1Fk%T)5S;G zXyPS;&OyzaYx%3iKRWMyohEA^7V;O_GeOAmLxi_YA@BY78f}OT}ys8yjhkrOCSFFF!dke7~_uN z-8(Vv1a8Freo!Is0I2^q<+GuddRq>Dto+Pb&Ly+Mo%$J@xQkAS8sq^m(#J1Nm9_tuXVa+%E7t!9s^&a<|)2Mv{+eoR(K@UGwAr5O?km zE%*QbzlbKuUS5^^~WAw)ySdCt|^_L4A%SY6c>qLomj79pLsQd%lj zsaB$uR$E)Oc0Roh-`D5+PrQHKZ`*6H=iza`-*0zn0l!_<$PLK{M$n~$&UMyfn51Sq zA?Ld4F2l7BU!8P~F{3T;lHNEv#uceo@9EoqKdQdtc7M_L^3C9dDTex}ePOgZ?FLIX z>!yBN4u17cP<6)u^hTP>ZOv}-L{0uxG<+=bJq}or<9!XvdzCs-9;aUu&x^-q+gNi| zcGEb|sbhW;@254mk5`=0$5!?H5&nc^_UKhf#hGQl(fVF*Y0xvghW!|N`l)N29Ix>@ z#9A^GxcbP|(RO18()AIWSNfMNyUCwOpGn9Oc-DFcAhvxWHfqt~kh44u6pYE=6KV^Y ztAInyx#o*0jJ)6O9Ks2f51gqJ9hnAkv~x_*XhZ#UQ8==cTNLYiuzZ!)E;2zFPij>* zL}mk<`f!!{t=Ax*k&Epd2r!3iBYrWyyb}~lz~9F`7f|508@XSyG-j>YL;78pNo1HZ z%nL$lL$VR0bl{>h&fu#%VF=Ip7YzVMHwNJ}@4lKQNDtY@AjodLV_SI3Idc2g!?ziw z0aUo-pC_8 z7Sh|WH}_3@T+{=$QXi2^@0SP}{)n$X==hBbJ+bbZEm?3&va=mrFj#bE3hY-9_LJN3 zx-30OzqTc!=j^@yyBE;riSSw5TmN_N_mQxbE>i2KUtf{c-o_v3D+lvG;KW|eB9qse z=-E}r<79=@&jlQPBM*Fs9YK`#|FZtQW8r_D318YKs*&`fcKLwv^Fz{uzB-_T$X2(` z{jM_Z;fw-B6ZH!hSZMFI&gS&+4#E_idCdfw$mtdEhHxYZ_0Y4G`|um_|9 z8@Pb*E(r9698y<;#6}<=+YoC>2l#ihDo)^l(@~SHo!1c0 zTf+TW+)tx42WruWXcc{&#_Naoa+BaMFw!R-w~lvD?>7cKjN+GE?~Xn-qFM}%T{_@s zIkyeCiOg)|y+jKMkM)~QypomHb!B%aHhW*tZL+(iL~>-}Hmc;9B^u<>*YQcnRo&5KK;^V{$_Y zl4s=Qhtc>9)MoH*l2`_=D(+ z5pUO7b0r_X(YN%cR{zRRQ^B>l zmKF{l$8V#a%o6OLK!13D7a^~IBj*`z`mGluM3U1ZNkK;rvSbYqyQwAh$>SWdZX7)I zzbLAr*H^Sl-+spA6Wos3m9`V_Z^yz@*_C8T#zU! zaqB@!Fi{yNS)q7c6bNhAi+iiAMV@4zHm#>zsole=M{bRk`>g>#$JrRX78{NKh1B1) zI?bUb!8RhwyRe*v$XijJmK0|x%IAxst|4b?#rwWp@?!@cP$iXXa-YRo`rTYrp(XsZ zRo_B)=1ZKqofeH0&irPhY>f=?BWSjqqVvzHlKE+8Mm%=>AzgPLYHS(>9T=3X!7wn? z*z+>o_-fs)?5E^YTbM-i-BXP??a@ceb-1-aZ7!bP^`o1XiQ1Ug?=9wktfF&W zPcam~d75&5e-lHF~Gc6Q&B!*l6@h0P< z!JBpYrLqZY>L|^GSM5YRk1L_$#Fp*U^=K`@FwC-{-yoYuVh!5P3_x^xt93H`Dv|UL zi1iMo3w(4a{5wg7-LHOUu*PY8gZxX_EZW7_PWrokid<)EG?;7shiUqJm!da5)zAt3 zV%PNJ=p&^Ev#T_+1nZ>Er#h*hW(9r?`dW~2przEDU-B{fNcfdIt%WhQ1{lo*-QP+RicN-0jhbn^jpzY#pt2yN28>Ft(FY3=yuQZyW4- z&p6A|%(t!66x<9+-&iF+1AK~}oygjXHcfz{RtLkUIrJOP?m;dsStGup$Uy)9?!A*P0v)YM{d&S9XQjJW~Jhf&0gGfF_ zhh_n;D&-!bE~1LHeq}}nNhE$*x!?I-4$zA@^^@lHnHwUFGkMYQFHFBC%bQ{?w06<_ zvA~m`S%R}pup*HZ$h>W~ZNM<4_pW#xLY6Bdel$b`LQ{}zvL*A$EIEV)P`F>#N`OU^ zL~F3^T6m@dzsLM_7V>(zX3@+9p8lGeyNbmz_WlK5nxyJnBakxp9QYa3R1;0})|H`E z7=1e7d>$L|sl_WRh~MMNqtM~^@dEf)h$r%u2QCP23x}lcK%#oY-z>C+2Ia99F84}Z z?`JQmssKDmt7YBa2nN7&thX~IBZS`7ile33+%KjMBK$DkO&X(eq;&meO;SWQ@XiFH zkF%)5ogtVl*f0wg68XDhu9;^9nu4)d3)xps>!PZq1HsOyl(LhYUKv(gwiEfWrhG-O zIbQ5V^u(3FNsnY?imd%EeKHC3n|2iHh$xX@!*x7)^$zf~t0C%%dGGQzyc(HcLTBS` zU~oLsUfmGhNXd(hx_n?jZ;R}&5fI63@R2Q%LAgI1ZI2vm3Dw~i3PNox;ge_w z8bPTeN4=7{t%Fb7TSl_nPYTXv2=viZESgHL z#qX~OlQ9G0X?jP_lR%U07_nc z4DjkQ=17PYz?BQ*L3^nxOOy-}GKgP)uQx`V*Ke%pEcqsD^%nfAW_!O9!C3%m@61Kz zM7gR5$(;&4GS2%|7Co;Q3tzG2swY(d5GQc#tBv)uMu3_?XIcUWW8w=^mTE`w=BSLf zP+6JC-cofHwwX5D?gK;l1Wy85E1)WU>Twv*$nHxO!!k*DOudWcC>v_XAqgJs` zpUp+ro98G!EOHPw>@dnYyzWt)M%=fGYbp1(a~;qIF)tZq=)bx+YZ=P~Z76RN1vaE; zB5UdwFLvbNfKB3B$yI@Ms{U+CP%#>`DTOU54`wx3zu^{D2hp5WP1>gGf@|gur;s}E zn`oC{!Z5fV_Qx(MuEW9%h~V7=UiDjXgD7kgudm%)`DMqsNQjUy`JY z_t?B{ybNXz;=Z!hHaH#j`*q9?8PB{BZ?&6W$z<084cqabAe!|1q9!g)gk;-U>*oO3 zW5H#Xul(W`__q}^v79eH3Iw#&R}dfnMv|vn_a31mg){p@bI=dAU@#`_l3UnIsU>(6 z{Dus414CD$%TI0lV?0Xky{uz9&G2G%99f0e)DIt`y#dGe**X3sezo3+0>((V`a7>F z-LTUw?;suK?TT4CdcC9A2?FFn*Xc#0u{B>Di1gp`URG~K7gcghi1lNcAi`A^&Nf9) zeFv;TduEyMpN}rzwvD=TJD2;G{D<;DIFOP7Je>eoaP`V3=b(kw?KjNg86i4goZ`$v z3u#y@;USA}KM;k40cGs+I>_Ciwd>zR&y|N%K<$1~JL??by2dvL*1r=+Nfs-|exdBU z+=buE=TT;X2edlPQ&2y31fyXZ5Lc) zJ+WKySUtB(nEsp5S0=$(T&y=7deB7~T-OY$+F55)BIb7UmBNUVs(Y4Nqb=+UK1Hrm zsJ^M^@di?FcEm^Sh1-@18l!`BtQB8?D&AJWo^pYDs*ywFp71^C*=G7f8GL{JM}f0` zQ(=+hi%C62Z`_=~`N&2-t}DysMA@jax+>7+k^!T$=qSJM@E6up6Vs%6;iZ>hG|-@0 z)FORo3B4#6gvz-dUD@_#-@vlL*3hp-rJ1FpG>_p4UDV^qD1C}h7ZOXhc8gHCJG!mL zO;>6f*{xk*S#)#;*Dn~XWIb2@^1s&V{EhbLC3^CPnc&v~J-B67y6&+J z=*DAsID;aNqaUgbtWCpllDTjBuZnLV-yrHw*`C?yzpgX?VcsxQ%IuUh+Gyrv=uOx5XogP+ z%iqdlM_mqU6fCSd9!qz56c-;9bPG@G=GKSw!S2OW_u7cAoh^606(7Mkc(e8be1RYr z*Ln+C^VbF4it<0omP6PzB<*MRYfuJX9KnXwOTcvG z@Ai-d^6>KO{A$*}gWL`q0WBEZ!Avn$39-P%ykQ%fPR^}{k6tu6&B0r9NJ@X8vls3l zmye3}w?2XW_MI_^E127-!FNqDm)o=AgPJ6@$b=T+9@W}tYAa{{M~S1X_?2XZmFXBy z8e^_nDd}Mz&dI(?UV>pKuAgt@yt{@Nb2V1wUl{$XjCLQIEiZapNDdf?)g|xLS#M#! zi~bFQWKLh#{{M+MT4myl`QNFd8|MCxzO;>hdB^EGq6S+sc;X~A2DHTH?|MB>sc)8) zmX!Q^KKpyCNaz{AVgM^{{W0_*KIzZI^Zy<7?0Wt(9$&H=wU*lP1!CFz5v!?uefhlJ z-NC}IH@|t`z0CT_(O;O?Yb-T-hUM*kE&*1pN>nr6C!c4Qr<~7iUFb?mt#6hQ34}V6 zT)v^^SN^b(#Z!hHM73)$BplrSVm0?~G0MGisr=OC16=x3u4E{=%f$LWaroZ)ES))R zXg!y$Z91*Aw3*c}YW=JRzo`i|))#Mg)*M5b$yrei~si;$}euDtb z4)@)DNw#hh7sl$lvN6Y5m_VXZMiVCLm=h_N$d@PWFA+;9r~05HQv!z$`r01MxI%f2al zAG(pIeE%)d0a>25P%x~w%*cga3GG<4#l2gD#BK=@W2Il#3p?|Maps7^mx7`Wxn<`N zNhmeCj+Az+kSMSmaIS)K`4mu_x!0!L080VBt^f_{#v|~wX8x#8y>zy?&dhlZ$rg+ z%M0?_&GYGD;~%H)%qF_VV~Tn7qpz3C#R-wmoD}%I|MhBDqqcl%cG*~Pi`N03V;5~n z1?zK(U|ptt<1Byh_+PQrmw)j-ujxAxF9FCtDeAASmj^zIU20d3f~Oe0jTZAwP1==E ziNFq7CS=`LU7i(Gf;dX4DXecW?Y-V;Xf(dKcz~kmrB9JLK{rvALo#9dML&FRak{Wa z?q9RZ@cHZ4d-1{TxMW-qhxp}Vddo&^lzAOGyle;kb_Qu{cDOS&Z}HL1%u7)(3{|6Q zTEJpST1uVjsjaza7kt=rm&I>}+=8`&rVi~EyVoES@F~>cD+vnp`dl&knF6J%n`as-fpHZnU(S_)v&Qh;sG;4u^))&*CwJ}LZ{pRA}Kbt zh(Guokj&jq_gl4%8QIY&p}k8+gVSGE(0Jzv;q7=|!O&JbDi%dnfcS-jv4<(}HgUL3 z%%WIw`98VKt6lah{~Oz)n`xO;yL|QPT``Qp>#Tet=kQ3c-(XYIHd!ER9h?AN)5P@- z?UNPVtv4T-BB0Ry$ZbZ|yA-S}>e$Qss2?uDQTKe`{^a{br&6+Y>=EBH=hAajI|yeh z0Yf|IDp18rUv#;AgG2|;nx!;vImFG*prs2KxysHs@~^9Y8xjON0Fj}DuwON_QRHL} z&Y)EJAODm-(BnIpfmg#qV>ibHuQo|WK?`IY>^;@MIA;oHm*jQNb@!FDY*8{wsvyd_ zd6iwj%AMvG#iy>~UGRT~!$d@S=7p{>78-3d9VaQMGaZ<$@_Z=MhMt88aIi`Z^{p3q z^{I|LwfbOM-)5(Uc=AG%Cu5{LHlEWh=~bP{lr(mw#c>&zmeeIc*JWIbpJ+;-mzfB! zb2L#(LNH|68B;A zdMIyt#<|x*Lj6Bz#Td)>iAZ}+(I(aAUHy?#(i zcXCChzlMfNV-8S1x&xXBCOQ+MZ8Dwu;c!6I<3E)BdGo-kEqW`=Z;nV*n!og*NB!ds zI)ZH82)eEOuj53ev3HMXQ{~vMK;#^JvV@hK8q2&U{x!G@WSGB-JrP9_=C83)-y*{D zAWw2khUW66aiFWzN)Dkv2_QOGNc^qw$j^@xqwQI1to+3Ptk~2|?Ba@Loh`e@-^iJ0 zJ%Xo)9;NeV06gz=>2vTiM1)xi^Q|6UHnbu8k*Lz7zd%9XF?aUUuv>KdIiC@Itw+<(is%wCQbIGxG}QfyjO4V;P!+ZcUcd*^ftM}5rFdl?L^P0a}> zdsKVaS6hEzZjaT{;CO~zolU;`*r@UfYb@*g2aUwR6z-~9YoT>R{f!hugHs&%0C`pT zJ-ERMYiBFHtxp#n6tvZA3sSQU}NDO4vFa)E17k__Qb1LW- zhclHz8)Uz$tn=vblX#~_JOPNFA71BFSHJq3OtIdm9Iwfjh_%2Bg(X3P zGrudZR5?d&E2F7W?CY5kv{tUEcK*n-VD*)@?~OSK#m3OBPzQgKYi-749PU< zoZemUOEkT%(xyqs`+0`D>L26Gu}?mH3|>d5CO-wb9N2i2bDt{TjLC!GY+3PlB)Xu?l=V>0JeF z17$xiygJC3Kyfxi;#j4;rL$k@Dz)n^Cwib4@kO}7%%1=Sv^~i>oSp+zt8jmr`GMT|=McVhfnkdc>uA%6URWK}cwV zXqHm}v8{l30!w{Ms43hcA!~3OX;LM)hDMJY4u-;}OFah6{pJap_e;Irz*hO}LTd%X?>Z=3tbg+(ym`;B!GxAci2BW`bwv zr=K>nPFakZ<+*QJ4=v*%T&*DNDN_8!GW#_;(_B8*G)Z&G~U{ zT<=r0Apxv?6D)mYxt}2SMh`7f5I(u zM5_}7cG5FW%2hK{WVtm7)Kwbo$>i)szo^Hs3_KvExgaOovYyA5*Fw&Q;L7N=zBkOC zv7n3Y&3ZJ>Pb+#L!hv#IcDS?Da;lBrf&KeyKiZ;=J^4SmR_J9-p#UC^^z1j!1}8$LuT`&8w7t`Hy~}k~qkd1@ zK)pNOP;`*FDQvO87{JW=p)9=JALR1hDlq# z+q}egd(5F*(4V$Z7^v&$EpDIdV{qjA^1}bzmw;{o&cnaZ40s3|N_jyC!F!P7iyJ#P6D<*#e`$i44Qw1z}GMkW^ zNL~oVwSaQTRb~KaIK75`sC=?=Q6iDh5)udS_5#m!%^55kP)N`hYHu67>JlVq|5hcX z9iM>Y1WH3b_~Tt$a36j&pklK`vcEf89$~{0=kK9t?xwluRohWl-3(O_<2fR>!PwP zi>*`ggZth8GZr3&YbTl~xKx93+HaM94(*zD)&g4_`KcUXPUXQPK;1Y^tN}A9=}K_G z=}P41VB2#+P-9rv8|s;Df_;l=C$Mcb9vW;)l6j_A391>De!4WWV#=zsJ9V_bvFTDK z@lpbX8_xXhI#{@J*1IKxwqAx{i)J!&MMQ= z-uedjAD>IQ+|o&=&UV$I)lDqVvDS{qx#$r*v%h=4HTPZT2;fE7YQ2m@mqUPyu5_<| z81cyhVAy!+afam6!0m65g{}JIpTN*?rk8wZ_<5a6zi?S4FSQ_Y_qu5EOz~Y9xL^RQ z%^MDp-lE&=Wpnc6A%Rx5D0B%x&~g?~GDNcoIY@8>xVc^F%X5}G58>;?ZaSyTvKf+B zNRai&7<8sm-9faD(FfR@(jHO^zGd*-h%xwRPyP|VcXh%!3YBuC2=jN;E!Qm1cC&9jW^VLoa^y=&dmeqs$E zUGWwzLBo?o2-b~hILGgo%L>band!*)?IBzsmigvD4hTzcE5zsXm0&!p(h)kZeEBWn z6Y@+>iY)c_197rxs+f4zakLdh1<7gw9Ek zC@r~Ylbjt}ZUYW|P04p}d7dF?n5V79m)gUmCzu@8_tl)JcTiC9Kdk{A^aF zEi3Z!bEWf~uJ1R{JMdib#TKvGtbiD<;rNR|_aB&pV$rdUqy|d*x1HS8YZ)ofkrnIF zpb@t&j=%M><#0Dp1#g+)f94?7c++Ag%-ngjvB;-3b;#I=*;~thttHPIQ?IotB#RPSMQLJysp3ev$|oOWRVfb;;~oiyqZF zDL#xaM&i=u4F}R+S}NYXR681o&VdBS2H6qh3=aOHakj8^iPQtLyTm)ATZwbIx%FtF zvzjAZGlwF1_DK8Uqh2 z3fQMwa6t=auaM*YZm@nnL#H6+6TeYme_`Y)xp+kQEWtZ3Q6m%zB}wP6vywYiI^Qy@ z7)Vjm_`6x&alZR8HGP-5JM+hsyD>krZD7(NG@_qfN$8rJ{(&DH6KklngYs}Qj2RSC zss+Yj9mFBQmQ77G>+PD(4w|&T%Ewh8jym^tx22T7-Ex@U^5u532n!>ZQLn>Z$5n+W zt`D67zZp=ujDhUn_lXqmt1QG!WG?Rgj+3YE3HP-(11>2>T%gY9V{mlo)$&h_IsHk3 zX#M&cXN{~Fs9*J)^pW!Wz-z5DX(w=m;dxWQuZmh`D4b};MAN-ahMxlu6<*KqiY$+I z5A-_~eIH+(F0rO--19?&!O7t=MM_e4kI~H9RgS* zJ<~~*_(K(lBD;iug^py`Sz0_I7aeI}UD_{7vQfk}h(BvHc%N(8#~7q4R&aXcL(zCE z$7o)HF8?UG@XXQ>_%nM_Ea8HwG+Iz^+AXFn!Ti-z%6h0@qXbiQxvPH1>D-@GqED`Z z4vC`4Qu|L-2E5fwanYPMjxtJibX5Yi)^Ja`${3y^(Mhl(mD8WN*RA_YyQz2WQ*hKk zGBO-_i#-SI`%Yg)B zb=bHT-CSdxpof-ADfvx;W3O~e(+14^G&!9j%fYhdD}*T9ub(52eufr_Ls(WC6<)(F z3bytNxpK2vg#6~#MqPNSQ%iBABajSKbAwhNl3FYH76JMhTN;%`3K2uQulM%dVix*) zhq-EK27EON*z!ssIsO+wze>MKWj$9vp(4}uFI;r)3Xk#wTN+hE{zDJb-Y5b?2PKTK zbjfB!$mm}2TTDwpg^b2cQe{DxMN`f~#~AzC!WN>%Wo`PSf*M=sgmHm&dj-nMgsvHv zvf;LN!8*}*ADv6yoXn^CCzjkjoX(rbl6A|44cC%abOA!kf3B11lUvvl zH`boq0a<7cJB#V6lT}3BXKd{9{td=Bjb{y^^1PxNz!q5z!qm#2)rkV!d6 z`rJVI96jD*FI)|Dc?%*0j~~M`w^PPh@94)hIN>$-=Fr5o_#><{wyZ+RHTxNQ4C*6r zUh&5v#{7>&2gISjQ+$mzE+@!l56E3suiRohw@oSq-fN(?$MCTc^RaX2M@?@5cWl3t z^kUGAETWBy6To8ZPBxa#zXqLatJ>KT{->iVcaaLMvWEV~@N)~x3xG)?oK^oX_e^kG zX^P4lP8$p5zLsn`*#~33>Dx#5v8YGyn`UdhmEDwQ;_Ft&1s{QcQIivXqtWXG+xkPb z(a~XDRIYA!tB9ko97G$Cb%%hJPw?6=Ce%-Jz{gKl{|P?2O)wgfC~{c7H~c);^N-F< zF-m?cuD7mx({&H7ntltI^dz$;?H_P~#_z(G_XuD55^-Wl^ZXGkp9N8;AiP@Vgkrnm^@Sxxio&Btg^j@>q zSEr!~?OeQ}IW|8Myb4XJ_HL(gk&;{Ryae9+n`oKc1#VazUu||AW?L$q6g&sZyhDPb z!6J5)r;PeKp;5@1P$2eZrcfoBM3MSovncqR6Ld^yy)uFhjn~sc+t~%2&|1-6H}qIx zCXyp_+j5>O{TI&KF1S!<;!UVx!8u?FzvQ#5hk8xW>&{g&Z%02>8Rc(kTxNF5a+g~- zWrfXB*UXY78PB@{>-m#4U-^t2NP-@2rhf_mguUw+YBG$ z|D1q4n?9K6)0Wi@{Jrrx4)EQ8q2;$ZlvB#^wJ z0MQ8wB=05wH8u&nvcFZbnkaulAoUqWHhcN;K5N+^6%T$N1Em@r=3h1u{RN?okzP$A z)i(4^SYg*#eWINz>6+kQn01JAR*a?IxEp5`3dRk3j5u}S5-Px52Vq&QC=+;yWUf-A zp5U}DLBH-E;yC|)c%V9PW;@s~J}sC0Q*ZSdGYVb=>5D!JX2O?0S;sbUW?9DT)yeSg z9^PF=nPe;y@<6*vr3`=v&)S$)*mCvZp6bB)4`o= z89Q{KCRdR|+S^dUJytm8}Es z+KxMRfhW5GT~lvrt{M$5=>Xn#9RlV%?{3rL;KMWf;Mos>zywwmvk=`1||cki*ny{q$knf==0c&vvl-aYAdJO)G_ zkZCb7_+L3x%>TbWsQ6+6mbJY^_V)Jn+a+Jg2TxKBKYOH&>XipV}@!f39`rZU9 z-Y0iO@nbctEhS37+9_30Tb2`!4q>;hsML(uzBi$)t^!%0`u63bj~= z(({Fwt?W-!?x55D|D5q7zN+I(F^k-4rd>JZ97$g-7^4ztck#S8qQC(;@_%V!*-H)A zJVqJ%U7~VG0WfToOtmA{n8vNvH) zAr`Y%t8F%aJx{I$-|m<2#?oJuyf6^@_({d-?9JK4MMWjt7V5W5&ST$gmf>)gFTQiLqzGt+&n(}S zUi71cxZs<$*L|Vj*fdSieHE!zlyrf)tP!V%k8J?}g)*AaBtQT%^sEmQ)TvBv^0ZIc-cyK6R$pjDa8KKjhETbqQ{7xI;*uVR5~-1PMH zx|Q!DR?G-QPcDRmOspL^=JeIvCT!9>OXJn4L=4tfs{H9CUD3AI36?eS>I*M)Gb{Ng zb|A4`i+TA+%PP(N(euzu@KAZ9QF2<(T)h&*qHLs|k&9Y5UXOVLJNy2*u9umI^~u~n zZ`==Ymex9lfO&A@E^d@% zKg^VhJQ_F7J^;kEf&MY&S+av6d(!s|UIYLusA3b+$Ux`8U)s#+y%zEgPl`JY)?HV0ItKJT-$!{u&46dk$} zsDIgPuQ$fXfv@-TBV+9d6I!~$B+BRv){3;3zEAF_pl5e46j(=$|AI}xBbEM-9cYwh ztvK5TbruD?T9$Cd6{ZpYq1e`a5)!9Cvc+^Uq){-Ro<5~kq<)ew(|_LNjP)Ats}Z`d z1}t$oyoUL8q#tLVCV zdMP5E(}TdpL;om5Ql8GKsmu9ZG7w1=Bw%Gfy3$Y9OFu@?>eZ63TaCcUIbDsi=;DN> zLs>J__a+(&{TcJGq3f2TYjbW-2Fv};(<;av|Wt{N0A(g~+Q zS|53*6nAlio2zO;FZ_Wvz>ko}`vw@%gbk7fHOu8m>n2#(Pz1zA?mr77fG+Wuz*>?b zfmiR)=43d9({jcShODQ5rpJ;8cpm%efKyu@yVu6;4iU?eoL)(~IF9I5W@xSw`mu+j zHf^klsZFh#(kI%6n_Ey+k$xD$etL{rHE3M@8-Hm@ljIjs!NSZA723g3cK@O-3Hn-M>{-Z)+a?gs&+Y zqZucicEC*_+$iulj8AX7evw;C_Wf^GL&8Z)3&L^LkPJO$02DB|lz5 z$ma?e&$+D0pa(V1A{>}%2nI}JH8iVAbAqQRAvjn#Fqc1fgNx`~& z5NJaGdm-iYndg`K6Bmjk3nmHfFXgVBi;B_6DNjW7JJ6@+KTgy?f^^GNp!g z^WK46-`z3qZJCjHFp|fEPTR03(E-t2$K~|bSuhA7;OP$% z7wuk6On0xbe}FDsj~pz;Td}NW)KiU@gJwapAdw}ms7%lmGTw(7Kdw@AF#AofEq_4@`q8UV3AThKdv&*DT#KgEcJZq%OY zGb4w}0#T869Xiw zubO4v`gOV~U@SPds+Uo;2ajEQfCgS877FjRsEsyed)V6HrpIB>%4?wDDr+-*3+Z?k z3zhl(ewd6i!E^_WJ@i#gMnOo2+qI?hPoMzqwb%pd^=Zw zS=6(m2#_6i-_|Z4Oq#AMirZJr`V!@+{5i^ zO&c+eMrUe&#b%IsVVL|*PnoWWmh)uVhu{`C)6Qy~A>*3k>(_u>^D!MRL6Rq~<>e}^ zttU4Ue~SK&6J*vzjneid@WvtMqV}`WH*hYS?w+b;Zz;S0FJ2GbGb|l&vyrUt^b+eEviIiTHd^@w|u;Cj?dcza>7MHbraolJ9hE#@CYa+`r( z9#hK8EL-vD6HvC6fyMN%B5@N$c!g{dv2*hS;H50q-0dt~ZcMV+n|mf|JUUXXp|7Cq zOEZd2KEOjqq4Kf)!E7|mu&TF`0Vqi21PrU5G*0)GULd3F1ZZBU4fI$Regn#1tk|xZ zuNhmYVcBf2X0Yl!q@mOL^fvm@ke&7YV-K_}Er&V1)+Pbh`ZO z)1oVQ3E=Kbf!cR+awLQJBjnc|OZ?MM+$qwe!^{OhoaN|smz#s^tAA8?7STqm7MKFS z>G7Rgq^By-o$raObYOa9f80{SI`bF$fA2E*xrQ^{;Arq50{bcEoiecmRg81etl89f zC?4Y1g>|p2vAkah6}E`K&!!gpO2ByN@AT}jU~!z`=oDQoB=!3p;8$JcHgb2C`HQm& zd-vY|wT|f~jZV^V%pFWcVJ%AM!LB*PMU|u|vdI?_;K8qxEW#?bf_5Np{R|I*TX_>9 zTR>`*b?}~lX1VX&aJd$GdX}xftpJX)@Y+Q)M}nFG;q{`i3hvo%-Vy$IeIOQsBrQj^ zze*!5%tj}fajM?YwOV=CRY#I~ym*-}oYOC~T(^M$cA1@$St;3rpNg*&NZQb%(nfBN zAT%KTeFp6fvC$CLo9Os0a#54k>q$=ejv)RXqEe)NJQhBFi8V!9x>K#3WmuvNjWhYy zoEXi*Au&suE!kVCqD{NVo5nEHRl$Rm)PukdNx0vH-g(9o(ZKteP^|R{nHB&pQKTGh z*Dh*z3f9F1mW&AX&BinD8YO>dB2pBLeYLV4tArmMec?W0bH?KRkaj=nZy1&uTPV%1 ze@Z@CYLD&c;^uUXDX&Q9)v4h?Hqx35B?~5yahLWkmf$(eR(_gzpJc$ zjZU38#9wo}zFFX=If|G>+Ei0%2Oc-LJb*u1OC1oAJS`NR)jcQs{$UnD&)83EFA52{ zr78p$YQX|QvSb(XtWlEF9eo7om(i&G>bab zB)BXHkyBIWN^)Z9Ai`So6wLfdT@?!)E&f}@-o*60g;q$Cv%+%kSCZ^sdv6*0o*pUuzl(XKVpc-5!0>_rN^fp8S@sIq=)A>!{>_l0GXI z{7{+^A`f2r?c!+qLA1hQu+Y^KJ@r7fM-TVwTvL!UFA!a5s2^wXiKT{RqWy6)(b3JQ zlQwP-`2OooRslK1oVsA}#scYf_io88(Vsf@E5@b=C_fx2zGfD_27P^Z(jU&2BU0))lzES%w29DvI!V1zu5=eFcxMX*-h-7z8QG(B zfo)!h7VX0_npjOFpWquar+qWU>DjX&+8@aF*<@}2>J#(KvJ($O9g^rdrlZY{47WU=&yXkSFEfCvvgM7{i36^C%he{1xph#bVQ*YESHrv3Oxn|mOKZ=DFM_L7QUEsPMYjr>3I-aoFT{*V7h5~6XrNK!)=p^K>y z{n#lXzlS708@kAki%F=}wj&`Fi=>FHB&E_2Dr!ecrD*+Lq}K1Pty=rNo$Z|SJ=gd9 z_vg>g?fu91k8ZdAs8wq_=k zZV6;ws23Vqj$$9u*nf_?sS}8GiqyayP+iYUzsq=5mM#tdwn^+(+^G5Z#Yp^uek|Do zpXvJuWX$LncZBr|cg3qJBk)np6f+JkK&mj*1pfYf23yf;~4Q|kB z*9oxYLR|=djB1#VzRK5?yD~-ieUgZPy6~mkur=fD$@SupBCu;bF6-MxA_WllmjmjF zu(YM{G{8VS-t!K&L4e`jfMvy+UB3Fj6F2>!8_=j+3q5r1z4Y9%QV1a(@_$Oc7&}W_ zHRyOv9j}YKrp%C4KEOjYcun?)MG^p*lsK5%su}nm8C#M8*Fi`UE-}F-A{l3vvYsu+ zxt1e6e2cy_e@OuP#cc6CMT?FY^esjA#?yTlJXKlPK)6h95Qn$1CW_ex+aY#)Tqw6} z+o19CGeShN+ZKG_Q(HuAf65okM%0)|jy;NZyD4I7wiu?HRhw0a_YuqBWdDi`>odRE zW3jLK*CSj^+_k2b;k7-~gxFkjb$S|T-?P8oIzqIwixv%aukG;{F>+1wVzIvR>mveV z@)n}6p6%{8%0A=-9#-&I>H&M=Af8wnQeT2NWgs&uQ>ir_>hE1ULa{HmM+_p9tqo-q zJ6Wg49Ir-?0My-mH?zMGe5EpUTvrM@_6p<|m3F8AK64mzqy$h6xm=Wr zPt+f9zOXJ9QM1yOLtL~87hVmt1FSsww~&f#tW*b54`pMRbcg0Em6-{*8P6cVphqlY ze+E^O;V2bh=glywh2BqAja|o1Sr|`^VP3lQ94=>#XQh7TGhZnG@pi0hUv`L8toTGB<-Obu}BBvfx`ygn>s zwD80dW#K&<_=+X|$<}iF*mC-)m(&2~A#3tP}`hwBKIq z?txLa;D~|1otSK$y$iRn0f+i|ZSWead}=ifI*PbZW3>xy_gLBDM}-#1Blo4$8Q)`Z z{wixzg2fVPgIJ<_yPn0w>EqL7Zggx>PtxHwvpXl~SmLUoWOR(y=NhAyjxYJ9s(AZ| zKTLnBQ*+XZ*wUpuQGR;osWI3@S>nh&?BWg6i~+E~`;nongw2eD)ywohB>Tjl&Md)- zuCN-XNR!mM0bA{iE@T#5vRe8zg|`87R~;OYFT(d~jK6BzNHcWF9T}oSuS%$auS%YJ z@0?c0^0DbFUl~Xj_8ai167qC)b?gx=`dK9^mIU5GyQlW$4)3JIUY_1C3yzG} z5MlC=+mzR+OEute1h}A%TMy7-|NFDlf$G3-(+Slvk*7>VlfmAQJ*m~>OXO=#aWuR_ zE5H3_zO&K%DySsy=`4J3MKt^w*pJn(V+LQ-)xN>{VnZv9n}1@_IP9;Te8iDX==MoqFll(}upO&mk-s~g|G(?%u`~{-L`-sh? zMzpoNEg*^n;ZO^k4EmScnX$^b_&?8I6_*n6m+*8#`cq)yOqN9(WuL}e@s#y^*~ zIN3B|o!QAMGfp91{n`eua6NNvP8B$f~ge4VdM-v@;$4j`$1RUhqbl&4Y% z+J4_KAK*V=OPB>WzM^)b+zqA@Ah7X7W@x zBc1%0BzZEDF&25XIhG{fY6YvLRcEHwxMlLpO-D=V>SJ?t)PRblVMcI6?R4RG-oP>J_o}|ojB<2o zeey2K^j@?kyomUT&B&RhHmf|C3$y(prhZSaGkqJFP#3b#&vfh->+cBBpNeO*4X=hQ z9%Nt}vTj7GFVk7b>FdTdu2NNXNELGS$9RJ&N-MhJwf)i`aC1X3M?BNCFb|w-ClkBj z5c*}xJH?$tL|?Gpv{$gzK1mkqp>{p$nFO0OQAyTA;&S8AIB>esH@L$3u{uyeKGVwk z0#5&pU1Mx-jmy_bZddcX!AYIE8GRuRd|S0V znz;=;IWE?x(rDgIWz)F}hc;{77C)2}3RuxA>f4=R+V*?wagpcVf(|C5?D~j&G7_}6 zp3CFy1nwHArf@gu{xn`XkuBIEQ|lh+xIg8OC;}EnAJjSCQ`)-x*%|Wf@`s_UgcsSu z-{sIXhICP#ErLrxxj!BvuOfi4rsO+HV~wth_^v7@G)5QWgiQHZO{ijx$8#QOLLcnL z1Ei;$#_L6-yXdC0ulgf+cp}owxB$<{d@(u>(g;H{hb-jcBVMft!W?7}Mv=MdTD@{n z74wgoNNfyxC|*3D^V7`h0%rX>)G6^Vk<>tm2OO}rKTgqeqhG+@MxR+dW zogzTplG^E@8wwTC#q&_fnhwJ}OY7;p;oH9D1K6@cjN`F()S{yPR8{3L7GG)wqYEE`k`*Tk?uE{kU7HXSO$MoGNfw1$6H(g!|8)r=CbFYaHMp(P+S=M>WaXwzv)q{6iK2T(g72dwr@T61t*z37!SC3M{v4L3C{s*HvT{UhnB3?4o{Q>zi$*I z^2z9ijh>VxeMEy}zwKZwJOL6QeWv>#Mz9P&_CHVLm&O(mHSTq?1H$0UVGqJ8#K7-u z_pnJME?kx5cSzo{PUN^oL^seKN=F%Fx^{h~Dv6966${z(NEbSIo-LZESEz+^K9XaC zJBZ3aWpGX6*&O-7OfYXg;mr2xV2Oq7ItyYOo_lm)Tibjy_s0=RkZ^-ITiJV zZ)dW&bZ+` zY}l9^(G5>c0{f$;F`nTar~YpzpKHOn zN4*w!@ty~A9O2vu`v{Z>>_L>0bU1F4=mFP+oye6v8s0;+QqPoxTb%V0^bra&NBj!2 zv;$dO*3w=_K>$a9OR25p&BXiNrtr_A$b|6bz|PJb#-Jt%TUjRRor1fHn%)H#bEzyt zX8cQRhP?A7c;aH3I`HB}Tt=7v07y;Z2t0E~lUpv8W^*^RVL^VvsBuW>T9Ph&JZw4S zAuW9MkdNI(E$czd+faKsmmBLb?{qg};nf1{-O2NC?%8L^RZ<#(Kl1=&LsxjSz!A6DRs8&EW}`yZiav8lN1!goi`Q9n`>LB& zd4t3%xt%??rpR9+&NW?n@80L2x6oy@EY-I~uuuPPl zo3+B=f=qCy5cpQBA>_NMTxVkwd${}QTkYcdKrLyWIHN;1ixHEF=o+9Yr{ehH?+ z3E1?$&1PuI;5JR|BE5!x#j`4M`o59upX*8{Y8Pp~&O?3a#Vxv1J#J25c#CNoZr-9L^k1_MQhP-AEW;*eeLA05mc!mJn1^n=Bp^YgH+}*ef5XCX{vHwIEwQFp6&? z1w8z#H@uEra79tf843K;mAC~fJs^z?f5Worv5Pj{VEHmx1VhUe@a?pc_svw4S&s8)@Yp=Q!+POE5KFF|nI!Rg9#m%h| zhA>P68;30h+*XLzi~=Y6O&^6Vq6}m`E9nYxr|4r*t6{ZeQdKh)$$Sc08eR-rDa(CC z-?4KGScgcnd54b1>*whMQwS3c6X9NC2YVIhw1#H;R5ZsZ+~9et+H|7Lt(jPGNL+Z- z^G~tcRfu6m-sOSr0zt0gZU~7}t2f<~e%ks3GS{D?J(uZ5UJVpHe+@zU9;3?(;Hr{&i$R2O zMA>FRv*Us`nPW9c=FoX4Kv2b4JrK1!Xa%^WIZLgpro}{z844M&C?IF#u>PtC6s)|$ zPm!+_y6IB!gf!^*2Ij>6;R&h?Y+k*i4LJKMR>t2tk9dlQ8_5R3-u;>n@pp}Y^TuI^ z4h7N51R*yCds?vdqtt+};Y(;QiGDwndI|p-IU4pD^oqe^WDS3-=?tRMqLn&L4JbV= z3@P;%9};5wfM|3o^R9ZM@rp{;TcYsXDH?v7!&(dZ8}G@g3KvJvBHm1XlW$pPX8oQqF=w}qRDeGS(X^kMtwJLGi5Ah20Sx$Gj2co9keI{oh_<< zTY}$%#R)r9&Ouh#JV}yfncXE1yO1ZN@jWF zywT*_rkb;RM|ev{!A6{~cRc`JEL(Np@Iaiz_$rO-Oa$Xh_dJ&gi1V>q#|B7}NPp3O zbFqK_t^m-iF4pu=T@`_g&}KIJX1x->G&e>oZcc%F#~NIFmt>1it!yKip^Uir_ zHG|jDP>vs`Fo(4QClLPX*Dlb7^YtT1m)$>G?tE+zgiQbR0 z1J<*`YD~Yz8~#eG+F`Br(#B|RyjrcYnI>9?jy0B#dhTg4J6_MtmF7w%z~{(2#{`U} zOe%*qK>TyGaHxA)-mnJ$&tFyBdlJ=K{_GQU0Y0Uc%3|$Ja5x3rhT#EsB?0!8aG#_1 zE8gJ;vM-5KW4BN$K0d=NhQA)cPOBlA$_AVdo$WH!?Uzr*R>?dj4Or$ikY2{<&qb@Y z!9l*Af3B4wwVI=qv`3_mqQzjU18^Vy+J zzYn-bQy3@JdB_e5WlD6vW}|@-R`E%CGx<^%@!L__&^!UI1`zl#$Mo8TZou9z{-R2k zmqT-WiJNu(ir90xzqy}HD(}uN1V8#ULyF5-&c(lspX~IO%FX+^pE61 z)a%*bCh*l`6544W)>~>&J-a8US7i4DT8g>!BY$f6@x-QIv<2YFJBY)Gk!mXf-%&Uy5tL93MAwRh>2AK^?jrF3SpW)&>Z_uqKWRxhy zW%3eIX#@}1G#kR7%(p?Oy;@ZbUyY?v#sihjY#dPDS^(aS7ywWK8pb56Kh0Ez$-1f@ z@VunN6oPE5zbD(U(Al&>Ef{aOL%)tWlH}rzNUB^o=tBGh^=f7Jlw3|#69&cmvB{UG zwH>r;Zc-uEX}oiO!rmiS^fluVRu|TJd?_GH2>;IB;;LsWkd`^7g(0kKbvjde4OjD6 zadFhG&${rK9osRoGlkMQlBDCN&WBP=di8kt?5vafTz-w5#NI&j^I0i<(+cA|V0#H3nJ)6+uV&3zSKroKpbFA7N_! zK7I1XddF!09zFX2aJeT zbOZ^+-8WGO7}OwEchx28X#~3rG#2fgSw|^NM-vzI_+F~E9AIy}URQXXQPaJ1IOc3V zT>b}=Pz~N?zazU=88U%_>MmN|e9kz{+0pf~^uoZ?*r=&9D1%D1R6LxbNPO`N$fKRW z-e$OJ*#ElqBl{Lea%G0uSgU5AFE^Mx!LT_&ZVq$Pu+4YHQ-4y8)3kGX9c+f^`r25B zA7ESxw8x1JE&B|$fr;Ab#$xqR(H&Y6$UtiGTC0^r{w*1}=iEO-GhKUd>D9|eV1C9u zC3iLQ!`Dmhmi(Bf`auGndS|0uL~N9O{7?*fAuLl?7I7@&m9nRMhT3)CJRs_dNm%aa zGNOH8|DsU-&!K;lpb8(%UkhHr9wB>mOXUYIJqf9&d`g#bY4-@zeS<#if^5rzYJO67 z4i?ACN%e$`_Vr+Rgz566o=~&qg5`TS+uw*Bo>Yw;DoYkEuy6AN?v*NMv|6t;=3v$@ zYnqIN3(>Y0dgQW+n!~L*ZdC$N-+xpA`8ry)cW*Tpm0S*FY6jpubCn3>z&Wg}0xYExQz! zB?>8d#%6sw+h!>M^;tMaC||Q}ZNDy%ik~OOj0iGZI|u`=Z_spLCwl%m!b!&(*Gli) z9c2yiR`{5%8U%`$QolUwn>cggrZtFJz88MlF3rjzmCy}aDsdMmjxE^LQ5o*0(C>g8Ka>ZzPcHz*z=z)i%`mu;f=cS;<-p@-Sl8+zqLl#{qV8Zl z?&jO~(HP27%0CQknhCwSyw&k2d5-$cI0MTK@<&aD7|c8FiI2b&F#+(<83_)g;-$%< z_k3)&5z)VqI#TR?sL|y2>rE?TJ)dLg6O0Vy-u_e8==Isi<=w5h1=Pi|!{^b{*`odH ztBE6TK{MEH{*|z(IQ@D*O<2A-O2SJn9HmX&NAsvK?So#y?cHOIz-RC~t6Soy#3MR8 zD_4ygf0WiF>u6mx<1k+N*nlV}qpBZsHRd;k9lxDQ&9yiqR1ieXhN8`r)sBB<6QdMf zEnpk(_ypsijHYHFChHp75)#)dYEkd6) zQe^*~SHkx#_2@$w`Pv_j0%~=NqN4n$fw|6y<*qD^$}ap^(k$@DBG2cbFIVd?CD5)h zDx8NBlM^iRctO6z;zttQBe2fsf7Q719<@wEe8#$lB*sLpss=lG8xeQPgU+HLx4@gE zblhfDwS|(gyl2^x9%?nUxFZdi59g-MU7V94s*vmyRB7Hz&1j+p*ko}c@_9Dt1pmxk zN$sN$=CL1vpBXX{Bg61+ zt;tV_uT8q9XlJS(?bvY?D(B#UPn{L=Y2pt93xr)eht>tB$>)`P#a4uO+ z?J?w(;o>U-CYq`Yy?qnONB|BxLBy3f0a_}Y9~8q{H?>XWT<6$wc%XfzxooD|^WUA+ zi&LV8#~T)I*xL!+H9$=PbnsA3`zZQLiCTx2mH^xA(AJ+*ba8vss#wr@*+BOst>K-bGcDzX^AOI0 zAp2(j80dB9xxfZOVwWoXlM=-x0gm$ATnFwWt>L!L*eD_xucGx6dI)*e1Blspx%Cud z>gW}34(`r#l3U=WNxV6_JgQX53VMIj6o^mEfWahT;XpHOsgzJn&6RK!Ma%V}Ey(fT z?4l!xr}S{WAXQg39;sZ+KJvL9&Fj`ha2<`9o6`t&%Y3%mO+nc28&KF(77n;N4zWfo zhM6^i+H#LM4V^KiUr`$gfTu~iWIh;43;0GXx+zznIqu`_jZMz{r2j<8FDJt%@Z2od zeK}7c#%r&SYK=exwNjMjIawN#s1(Z+!24lf1V9|hOarExqK7Dz@S{0uIv=bDr*BFF zM@@km2g{zbYgNfR<&zB4)zA@ad?z#pTqYad1V*zCiIKtT@VZ(}pwu6EsHEkKaF?zq z7RfHQZw9V9D_blp!lkR=84d`e0`X?iYZxcg@>{jW8L_ad@@Hxn;rt5GI+5jw^~+?D z(EfMUoZs@R#&88P#s}Cu(R1Qw--=wqE~7$iMWssk6o(t!M^%s?X9@5#$bPhR;fVDV zILsTXZNpaY9%ZHD7Yt>g*s>o8&}B_fcn*<-v53bbLF>>nXd`~qXP9KXlaDhrJmL#I z)NvC4;^hZHgMw~)%8rYrS5cwfQ{H<7Tq^~Zz*%?i25|nFsqkAmIu!oJ=;Og;VrCT~ zCn7{kdVDPVbWFwd0W-=@(a!Nx!Sh6WljBhAhjREeCw=-TXv3P~HxHeN;F+kMC$W0I zm9#&UY@kbNukhBtWGT3M<{lPT%rz~OWL?3JE&HAzl{Iq9jFKEF*Y0=L(>)qDKQA|_ z#XgYOYwC+pveNsi7{p3yH9RRvt{dbwQ}@^1i= z8)IDb2t1fhakclu7Hc*rGjde^&r=%>0pFmK9wweXx6p8u2RS@# z&J`wx{x>r`{r5%Z846}XpFy7InCzHAO*`f4*y^nn)K8P0b{iFdcipZWE`TyHpAx+JiQf6CXK%NkOdD z<1g5R(5zj_&ca0526#5^r`_=f6APhmYEooxew{sj=+AX`%OX2EJ8SfM{l3cQyb}dW zdcWeoML2UwZ$W{pO(I(GcM~QyHVW7`VqF#?>x)Mm%fuRZ3tRJXM07gcm?SQaF9tlJ zCx9UAkFR=&{2#Gc&eP~{2?2bri=iq}8kqHF0-|9%=NME3_h@+tr?W;+}kjikV5`Wdg$nYFhgJ!^BV->sWCu1`^G*7ncJ>TTTu|~m9 z+qa5st3n6mGo!qSeS~Gzi5q=|vEn$cSS37jSibnyRtOR~fn^sa$bKOB(I8r>Qs}=W zHj2*lFmtt0t5YAaI3@-zvs}a+MK*&0rhnfbcu*I9N7F^`JeQ*;J_U4zKli|ku%CZx z49~4O1gS$uKFT#+QM#uIUgTGGrz^`3=u!dXGa5hJRlWBRO9DNC{&;vT0m@bTkG1~B7;!qTp?&E?6*w@l1J8}t_qZ?8xUcf9H6&$B|BK&29`5e-|zw1mAY1a#=kvpQuMq<=_S0$6U4#u|m=9GbkT^P2>gT zcx^)DC>jJ}`aP8vZSp361ZzoBT64G*vSC}Ld7q7;g_SGwL4BAXx1&}_oN=avy+j@J z=oen^9n9Soh=yNyCSLVYrjq`+fZQ<>G{6{0pxQ&J8FUkreZFEf#B2F@2)m<*q6g(e zyPzKW*2gupjZ80rjXKs@??;3wQ!q;%)YK#p9X?!}qU30!CP!v?c}Uo!o|(eGqWO$h z=nEs>_Uyv49Hm?d0f!8e{Hw)(H|b4dM71}VCX z{X%3Bkj9|R`WPf9k#KZ&T8aIXZuab8ugU$6y233q+%EGt0-M$8I1Vq_>;ZlW@zvy7 zy^|?s)e{S8xV801d#0W{xsCUZozK%SQooBi8r0Rl|G2$)0br`CGSbJNp~-`|QFnpJL3rDzlNK@9k3l%)O9U3{DK zLJ-T`5yku(F|p4X@r&kFTgxW{2^mJuYy~u*qx>!fO57q+}s;`FK#6DBcWF!&& zS?0~9uzb>qg%sw{m9RNN$wttIGDTu7PBJB_ z*JFcLaOn8R+TEjZUg{rBelGcCL6k1houiceWGQj;d?@v>(yxs-NmG1*nZ3VB;J2z$ zcCpk!lBxy+4Hk<5=~QLN6N~EPmILCZFZ8D!PGF6qL~)0s8{DU{{T0_NOx}u=E+c~% zpP?^Db{c47u>;|0c(`ESU^E;&L;0@d1vFN9bpH-48Vt*n7fyiipMScXoHL)iJ1!fP zqA%LG9U6rH9$nlhJ@12UrC4F~ z?vj6@zx07R<_CErFZOoR(y=?*z^nxva%y&I%V*P76@g{n?WsA>aTx-3WwIN{+4l=K zL6g)S8@Fo4R))Z(G5Ez7+70x>P2_HQ1LyW<;Hv)nWVB}TxPd>rjxBo3J$iFG=oH2!)#SDlAmr&G9+ncoJG_2Bic#z>Z%1!K?GirTz z<5KyJdbetU+nGF~-cob4#;GzeGDR>K{YstRDf(A}k|XmB&)$Df%4bQ^$9TD588ND@ z#^Z4+YrVAtoS25iuujJ(uR6*80*%4Kh}udd)y)N!fdu*P)Dy>FF)_9<6 z>yqc+B-+{Mc>TJ9ytx5An}97bc=;Gpm5)sCmva9aty)KRCiZ2Fxj$bQC%#nb!zY{O zAC?3nzIZ$ocoZGf&CS4Ws6Vzp5X)8&V-z>0C>(2IC#mD+5$zR8L4}^=X?@rL4hq#d zgDYde=_6-u5CPaBiJU?>Xoh8>0?ou;r+&pHj@y7}C$(2R2pmVp<31?viGIURn}M*f zFo)pEn4BI`GjWj6rSc!b8m22P;T*v(yREO$cQ_z*x*Rzi0IuR{*PTu!=U8{=A$czC;dS zrpGe6b2L+>Zq?lLQSUEVu0NbpERKrg+T(4@s})1ij>maWi@#fK-WeM>bG5 z)MI6$EOI#xJY5IxQ1GJ>i^wTT>&dNd&cx@xgZBAA**REOq$_k+HdDE^PvnjL9?9lP z7>`69XPv=4I#q}5584!^?}2v~7w1-!BnNwMaRQ}P;{{s_tdMb77IO=DI03t+YPezA z(nZJ?*60eSVipEl&E|ZPVOIh+0Uj{Lm{zuCjaN)P%+65>RDU#!yXeuT3?^HU$VtH( zaVQQ$`P?dMtYI#L%88w=ez&27bR7u88v=3YtCGcH!rE5aEz{-JD64d6*c& z0}PuUBnO}$#~I3^ORlh{HMhU2QMo?iZikPf4k};`Q5yA|Yh|K5U^f#^((LSV(QWAc z6aC2e6mX_rb=I|#yj3<>3z81G-KrJ1_IAgM>w!s%-QP(04Wx`MRHvnVt_bBhMM^c7 z{(x^<2-9Cv5&-%b@B+tyI>nId%HS%l&QV9#66D7jim@7>`YKA@s-VR2@I=*y7S397 zi{7c%=*h-IWl{H%bO$HZ5qkul)I96w5C=UC`?+-yyhej7bIC`Tu5+(A3b@~jT6V!s zZ*NChT`?`nsdu}|*dqmQ5(=ji@Z#4zaJnfOVO&1boOP8vG7^BLnJi8I5@AK;FFZe# zEi5y-iXJF976dh8n{^FVOs&dhTT0p8f}yKK_AapDvr(nP!>uekAN2AO!Fz%R2dApC zx@l%mH~j!Fi9B0AH+~PlKim2k-`sHaUb1fM#GcT17Oy+$8?c+7xnt1^Y=)1Q{>35A z&Q1%%NE-pa`q8Q>F%e6L%EuXIeuwt;(mi>$%`xJeS#LNi*z?&=CT0Nas9M-t^xOU@ zc@+S)yK*O^$A&-)t+|XC5tKFKRY;V6r*Z4WUBpjCPI9)N;j^Cd)HK(y+p8iuVZ^@m zU^MZ0bqH0UX6!g33Oba{zrcKj?-)#7Y;bX}fQW6x&*T+_vB+DkD!%POz7)p zoG`ZP4|(k{B#TRinG)YT$o?78OcjtVe;%dYx(;O~YW}VU2JnXU!G21dvlVRZ^K_C) zmz|Zy^o`2j73{SD1~lE&&nh$U1?rJavy{4}aT9?Rq67oolWJSxczGt$m_l299dz#k z*HCrIr>V=TBJCZ8bGXY>7U7rdkLsQk*5o|)BxG;}kQ z6&o47On=7fW>u1IYY#n`zX|6XUemaY#VX|u_Q9oQMqxdA0-dTc8u!qaJ^S(1APOn>{^bZ>fsf16pCLSS+#o~KAQV{KI>NRM^I#zHh zY^mzNU)&mpR+7fJRODx77shf6e9U%>0l3=!`F+c{))nE?c5HTS*3EqjzLffIwnN0b z56hQHNrT+eZ|tq`mE}=8<#j}S;-)y(_)S2-g2zYE3x8C8qI*tQ5#p*w$)eBh&<%{Kk zEgL+~+<+&vx-z_>f>`z*A`RzaT3}w0>1gcY8=gT@IYmycj&KWLYKFGS*vFb3L-CGy z7VSeMT3NUSiXCNtPv`CAyK+4rR7prTA_5N8gRe|yEyJFVr5Egb3(U~V>{0Q-mO!Bp zX36;hESQFM;2i4FX__ail0@7u_Ds~|Z)0INy9V;_GYVIK1Zh-!rnw*n_-ij}t;P-F zkxabw>zkWlgkqSZ`s*VEnXxs27teL&p1%eE952?DZxfgq#UE_@6&-1vmXpcD^rh=- z54KS5Qkpy0xM!AB$;Vol9j3PW)-}*FJNLrJz)c*n`;;S6j~VK$CzNTtFKGPTJ=`_) z=O(x>8indmV}dTuBU3(@3CC3i)(}}5Hyi*v7cL`Wv(ZjqH>=%#9{SozP7@#=5*a$O zi}<@rE_mUNC6l1U(89wUN+oL`rT{0RM)Zb@7|VJ^EX^4kqAylGqu-Iuk+R6xc(~uK zhE^F~L!zeHUye2Z{sqJ4TIx@Kk*`TTunu|Z zRUvlU+Rw|qUZY|Lbs7DbwNK{2bpUe%nP@BX_ zu=C8kKyT){=i)oa0qapW7h=d(aDwEP!Op+WGCrM`zmpOb`An_tPhJYzdoG0tUGQFA z@38Hi@cb&ZxMoE)_Xrl&Nl^aBR7=rb*a@y`e~6NQOx2381~&LtaA)%CeaYgG6QlCq z9fK@<)VOqMsz}UbQYzU*JoZ~o|A%o^<7ZoKJrLDMEMuI~TFj0CFs0j4C^3J;Z>PxY zl54vXUFapC*vpIrc*rqFd6b16sEn_&@~bDMK^18_Ia9l?GDKX%`;cbw9NfU;M=tE; zfr>lvxZM_Tk9q@Y1~r_KL!oa>V_6o${%OPK0`M$ZyFY9?A2}+ z9vdBgQ``KQTfb{IU^7Z60jStf(98jG)vPhLum(hxAQtGtp{PCW?Q&R`LeoXifuSwp zg7xGtmTh7}H-Wz%n=&BaKBF4HErE4c$PW`@b@guf`Fr?>55Hv{)+oZ%Tl-McH^M3u zy3RKiaFKPDyr45BM_tO9d#gdf^B6$D$%EWw-Q3}e)1cwk=mFg5a&;xY)w!LCeq%qd z=Xy43&a6y2f{uhp<(c3Og{?NrYdsXd0@@|sid-BA0vgiYPhEls7>}BRxZxs#+Kb)X z<7nB}>r#*+sFei_l5EmMT?%}d$o=j%-^=bvP6_8Tbv4Jyi~5;$pqKGyH8*8@C~=|m zRC`Hh^zhN6^0}Y+R`9JWL;#xYT`_(-dzBhQ4kOz$zz17BeD z;*H4p!V<849GAPSjj{;>s9kvVGs>c#;6BQ`djrOf<;%+%*VZb5tEhb6Xd1@`pGLY; z1ZvMWkb|+EVeD{1z;(uGO?e5?e{jagZ?<+(tHqqIt2%BEqoRa5Ta^WneN0cZCo=Yr zP>!2$EJ31G&*mY&H@}?$OGRoIYgMzcjDLbTN%k^@_Z9UWBJtZt6!bi6JwfGsW)yn& zI1gL~QDTtS5x@>GP5j6(GI+xfFCn$!sn2VMGS11pYTx`EZd;gFtugC0%8X^LI0E?q z{|>m0*L=|^;g~dzr9t>zd<=S=W2Chjm66h%$hd2Ue`jh2e2~?3Q4b&L&isR&YR#IU z$+)A`0pw_O0_JM$wt#n(McOo*y*5oW-plIO{0Pu&icgN!$p;zPqSg1P#6H(`d<(?- zz7h^=qz07E(!}IME|xas#bzI12YqLptgzfaW(?DHF)7%<+)xq`&7i>6zQ$eCTU8kl z{VTGqW3PePf0VhlFYv3;9O1T+>=nzEQI)C~Q_W=b8~mY*+`o|y@N!tvvd97|YXgw` zH-?O;jY zgdCr6_BT#x{FT=E2(7#lv>({Yw3dIGBr#VyN!VA=2PK5@%Fy@TULHMhr}iv|P7%zN z6E%x}%X5qs9uc54@F?`Jq)>Aky@G#u?=J?g!5;k!eGK1Nsxs5#(?9|@k$>W*bzldt zDuSeQ*j(GcO4S~Qk4FVZnX6^F5!AqO%It1K0P-}3#ZDm&uBzt+H-oqaLRZ8JK)$U3 zwBZNBFM?*Flg%$U2Qc4lk1`i$U1!nO_H9npy2``}-1dJPf$NAjcHg1TzaHd#$QEUQ zc5-0_e0Q3hennpy+-y7LJUC>S-}Annf=P^zi48uUd^V%RSI>>yewZE3TPZqiq0r7& z%>AYEVG;WV%}4x>1F!x2R2q*pyduHJ_Tw1+DZzOBwdnYG^ob81q}oDl24jrUZ%~Z! zYps07!i~&K>((q6ZUP)p&$C4DcJUoLlV{)v4^!<-xR0^Flk_47^QmOLJ4FYbJE7m} z_zrTnZMuHljCpLK6H+2n!!n^((%82F+r! z+DT&IkbDJ}Wg;I&?L};pYl2vBI`&L?+PO)8Wcqy8H52!8sV7>YqA>4kH$?z0I)XOf zE+e2VYuWgU&7?9Uyq**Rj*LS9X+5-`_SNVYmlhO&fm&}t(}}65_1IBC6L}G{e;-i^ zc2f2bOh^&I((p-#U&Kwb(>clFM;a)PVuhqmubiptI9qF^efUg>=&Ys|@lBorGqE4; zK_v>d9s&IN(eL%FGs$(~w#{5A%N1LYo2&~tfiA&o+1x|;tbe88%s8XxP*#~yDj|^A zG*!j$YrwqcR37OWBOQ2Rm>-~4ca2EdS))45;bQmJ|A#Z+j?bWoO$vWX7A1qr+NC{NuTJ@&S z)O}Kr2PPQzC)YZRgrxC;fpU}zQA_S>2A;EX^oI-mgGAor5uXIW7n_MoD?XQ_s(z%f zm=l-D7p3)}d!+K`Br+HFSyn{-WMUw9P zE*8>)u)IrQszr0yH@{cce9sxTVb))p7A!uMmcHn*gfe|)<9hJQ#yOj(d3#UW@aL{g zZ})6=ams!6_SSNT-(DrIZf*s-q4$My!P=E|QsdcU)QZ>RL~iZ!r%{hfg+a)H_Wu*I zR!_~3do?|YfoP3gPd{ZrDu*CoH^FBtPYvtC{pboRKX zJ^OgczGcT5yPs4SwV$mm`umKHC3{8suSnF*jP*Ms1T87w+|NiXFWa9wLzsjsFfQ! zAB5(_KunjHzOewiVwi)8!qtWl zTQ1Q!R%N*i=<-@?CB{{$?$~ou9T5~DTUa$l;d?&tA-Hh@&@DGGpHNV=W5z%4f_MtD z0{Mo8;aHAt)B)NY>LvErtch$SR)rUS#5R!%UUqWTmo8skgnQ&b>ObxxdX7l=uhf_z zy5O~j_=Gw_%MT0)txS}titP^pb&gyLEC@rq`j>D8Mg_fuW4bQ;hJgwVz83AsWsRx_ z{cXY@*NY$4V5vpezv&pMu**WxziCcAdv!fA0tljZkF{x)&r%bI+(rWHZE@*gcY6F1 zs3<7oQ5~V5Xb7BaReyRg@`=|@=AyBsDmc})A9~JKY{a;37gws^Y*ds=V@so@X1{sHK7zqFP5$8lmJoCj95sSe=7m66kx(e2U51T|)NfoRs@hDJ z=v)RwO6PX^+6yCq|A)MDeT!+2|30FS8s}6r#U_N25UN=vgfJ08G}<9VqwUafW=W_N zlO1wwN>W6_4xwh2M5TjC%9LtWHPuW_ndW?2hkO10fcx2fUB3r+54(CYbFFE<-_Pg$ ze!ZF`DMC3>v?E)`o7uvmgWuM44klc%+lps?-CCte9Sl1N_5I@{p2IIVAk(Q#@9`iP zCPu|L>qSdv8mSwnX1Nb9_(ew8>UJU?sge%FuXxIQ+jbZX;6GhQCa!UUr*Cv4R9iJV zNwsJGR_M@>`*#b2X}Wfq=88Ag6TgrgA(gjpKS-7sgIYOfM<~C2$LW7e)E>Uy$Zyt( zb-SoDa>z|}b^@1N+D|yJ#h5%@wf``FWFH{nAbl5}Aa5<1NhY^fL9c+6?!?-(hJ#!v z89N*QOes}wFtkMl8QScS3)U=u=3#4aUjbM5KyZuR(a~A={?fRc6|gT(J0!cSCG{;e zkSoyh36J5dOt2#4Tl6enc#%s@(aR?KxY&{{Vr|0y9##aC1r}oSm1K-n(j-}0uoW0K zCtjDfcb_5Z{vx2QWvhIC@3(8P87Ld^)>OP{GOdbROc`JgTZNK+`G0=u*2f=kJtdRJ zkH&?%M@w#DrDd>yToF~8ul}&FsxN|M;t`UIrsFas+O!UI>7eXSqz7hu1OB;!K={Pl zbM^9k%)@gJ^QLln5>wm73twS9G)^i}eO+SY^Hz&Wo8^aI-okwn{<3Ve*9<(qxsgK; z#S=^or7NhO>pr39@YBMK01sTQ_X6EChrK7-nUL`tH&-ujPB3LRFHnVrVzz^rB zX@qOuajf<@u})Xg0PsrS!wc z$h%!2?OMzQ8*QMaG3>)v%(^Ek#XV6(pjVA4ezZ_pdgRIwn&CnCh{dOn!3%pF0&q+5 zkGt@@@6LUpZ?7aICR#`Ldaz!~qbH%#GHx@c^x<=AOnk2LoEaWGRjOJCxHHaCgU2Cn zPanc%4=ioTKmf~wvt)$-5m-GE{m^R{(GUxrv3hga6}|W%CySAT`%(#EF4rGrQi6cTSg_KofB=*ybjWReL(4E=To1zGmh$$ohvpiRhN2qUE~D9ISE!hdHdiQJy|}UR~31O2nMaI(C|0QOzbpPo^^?{ zG8hSAl51`5o|R)wU@p024D%;zE-wlgN+WlQ z+#H_5et0zzY1Jk3Q#8jsvy@Ep*iZUTu|c}vx6TfAIHmtN#R3Cb!y=@r3CQTuuJC3# zhgYE3)E}`6+dUuovHc5B0iS?hI+6zj;=Ag`6V1^Jw3xgWc;tkheJ)UEaD7Ku_R{wGLlrIm%F`0Gm$BA0KsbL@!$vW~tnZ4fqCbXVl zNB2OAH|l5tGfuSc@);X(UVP7Z#~P+ux-rK zsR`}dH?qDOyc5iDMx|)m2x?Zt*!p0BS~zp4y265_u+;lzkZa;zE1HZFd^hd`jPsiP(2*WX62`II+-HA9zC|St|<^ z8~W2hbL@~5e_5;)=WQx?xNLZ#X1kITW%nGh3VAMXW^dM~?4cZ17Pf|k-_p!G>WS@< ze{&zNQiydC?`#RHpiJANZTWkS0IGHSb+$@I(lN<8vkH0pCu$Gt$fqpBjwf03rMYI{ zOoQNG^080aZjZpF+tFq&JhJ=E-I1;(k*4mn@K{wz>Br+I01KVovJ2jIE9 zjjT6gfrpgy^$F8%d?TG;H-&VL)dG5FH0qVS)ZTb@KW%(mj+c2{$XxOr!$CF8mHG`E zecj8%R@WI$zUk38z2F|fudh~z4_Y=0H>GeS88%DH1t(|dlE)ctsIz>bZk)jt5xOX@ zwtuqWL9gGFYCjTLrgDUv?kg5DD?FMxw_brYP~D2}Y^mTVk~4nr**UMz#u#P$dnnBj zC45*$kc3<}Y$!?nWkw8Kucza6cn>~L3~B{fm@S?MDxq6ZT@2AQ(i7?$Z%^J~-bziF zK4>$X4rtnNb9DtWY^y}?;u+nnv;6``POe#Oow1m3W3xZ8hN_?};%Q>%P^V(~j?_;v zs|Lvgx|&{4U?=BnQ?u0M==%!fkXHW8oBnd<(ApZfJVodBEqD2{Pn>;FN8~d+GA*I} z&87rP_1P5tvcAri+x^jJaA1uv#<;2&zKM6oyT^!%d%@=|H0tZdzn3XY5fo^;z zb6?N5>eI|n+UluGme0BV=dnDR_0%|XID!xKb-!xB=8Wh*fv2mPE zgxG1lf$LezfptFE!O`(UZAlWsYzorzV6yDPe){)>0xb7N^bjK@u5JEc`=FKDqPLwA zz{!|LeR%FQy_+p{Bwy1;OnEQs;*3LgM|6_*(+0RAsa24F3pxIf+TR;fS}T`q=>|4< z?LJgxaw0^1j(B?(M%DiRbDBguh@i$pDqyg~wTn<8TLTc}7+m5_2YR4-3 zyE6+`?D$0a<-)_h#mnnr(vYNagY&LtxHkiGAFw%VVzYDoPO=Zy;)6ri45Sg=8J@Aw zFAutx zrZms1Dxp42NKwZI=fi%0{;aKqf}(fZ>!R0nbB|KL{5?ZJU%O_Lmz#>6Ls@kIq9d6` z@5z)z{4CE0cpdnbEi!d|z#P>7RUx;!oWq)f141U5A1WuK-8IQxo4{`e;P6&oux){Q zxJ|gi+7vNhYUqCsxY3Q{b)4%z+lzkCj>kvs<%jeZH~-vzV&58F2p!m-!8OOuUMN)j*SFQs{ZFF7k3TXUyEj`iff#*n zHq!zdF-t_2$h+`Z=F0gDh0F_Cy_;3bns`<^ZB9L{A&%B7nNJAG=87(?*=;zm9xwl} zH*TK~c@6jkla{}P;X{jn_X#geH?^Dg4wxKrV5d3bVSbF0_+yh{u|*^F>o@mlD)uH6 zsM;_(ZePc9Xjp>(fwB~!Ns^H7liHCE=8&uyn+kr)-bWHarfx5DWv!Sk%~9;Rer#mv7NER=2m#K01qZ?CTaw6URq*{InEM1RZSzr{uA!&5;WoAz7ZtHEe3zYVfb&-!9 zkR%e2p+LQQ=M7aj;uEnaJ8aPZ%4*o}16j+7ApklkXDt$sLnQJ%xGTwG9X*|qeSS9| zG9tnifAU1fVu~TCU7El?%z5a9Kdwt)N~?cb<~#oq-)WSSA>F~MRXsC&^=AKV?fYqN zFwE=CT)DW{e#ScT=`WV|520+0;U%pu*l3#8Z_IIM{|^p@bvF40;;2xhnrZ&XN5CEJOnodOm>^ zJQDR^g^sV=Tyrr(?33547D_3xNcLb^(zIsPX9wHa1U^OIb`dqZNk4B`FFdRFgM~2o0x2S)r=!wX zGwCkOAeTpSAAd;lO?S(oeNH}H7tsK;F5L}zP_Lkt;K@`ZO+`A#Vsnb9`d$IPp-Rn$ zbo&NATn62r?cvui^9E8R0emPf*I)yoyEU(?X@_xYpb_tHv1DQ?61LRDL-wNf4{j?< zK`rMv>(eO3po0K-KSr|?0`=mbTjA&l#sn+y7mTz(&8A%7 z+hj$Lc~3!gbt7Yo0DcDDQGB1)40bRT!M1Q1?ktTypAxgBpv$oKBfdj$4nI~X;XMAk zf2px#TQ_HG1{{;{#H4~z8G!}2)pGPkY5Luhx4Yh9{EB zGO!cO4HYL2S{|%01X>vJw*<$2xOj$d#RMtksxB(=v-iAk`oFMq>{8d zq-BEa^ja07xJd6iw;VS+ZLpdi*LaVe|~UJ7=$Yp zcrDL97nN(2=pfwJ7GTvQUXKLxMbRyd27+s3s6E?P`X%z2Q02Lpu<}wH!~bW;S8qY} zgNm{!w}FOkj-}CUdZE1bJTka`AUd!IaT@vg=Bs|S@xyD_4vBCtea_~u2mee}b~_lJ za^XV$O-J%oO!DT2Fq|#F6#~s#494jLBpkFlZ9}!}B@3_1GGcTvPiAr9-vk1qkryuc znC<_i==lcC&xQjUL!E!`Jbtr5gl^OPwC%CnhxLY&b~|{^F7)~>l_mfQgz%0>F65mD z2#9Sdku@4hgP(bJp30yLH)1{eB&I*|NPP49a*ilgNy_Kr(u`}#XiUIhQPT!N`^Gta)t@JCJvTNN-`5Z}B zE`SeDw_hGKI%w}leo&a2d}-8)L{165##911$P%)Kgx8EUa4!D}YOyc!*VjueBLGc- zMYJZbLXsNN(G@-DoE5n_!Xl#!maDI<#MeM!_;sS;0zgZ3q z2Zl)3R9@bZWjWci3=XS$(rP3}ndeCgwIeIom--0?KF4}_zD!k?H>f<8b4-ISrAKXf zfMJ^IcAMY|%06(Hq%_k8g?f1k3XY+6n*G1#UDh;rkq>6yS6V3Uo<_fph7^y?Dn*oksj5J^K>H^YCxz7P2&1#v%QsjoQZvu6I{XgXH) z6R)`A%qo*4jL?+aDJ+GfLjrA^+kf(XQ2eT)L0Y}3!z8HtSha1Ou zatI5BHV2xiKB^5r^>+v3i>ctvZv~6$!#nH1EjU0hBTu$+b6alc1d{|{3fCF6uMd*M zF0yK(^CX^6y(G7zfXFUz=_2T!+&Xrf+0}MesqmUm?j%~{i_5Lmoo|}ZH~U|)Y|yir z?-Oe3V(`zy>qJoA7305l#;FF`C=LCrK5TDc^?q;i(}X2HuxhDcnska)!RiMwU=y(t zwUbh=={E+ziAJ|Dt4&jkS5^jQlP)8_ z|60Zo_DY5rb(m#@Hmf@Jv}f^X?WSqE2Rqux9wIRA-3DyRuT05&WqDw2_1pqrtmd7| zm!cfn@OwOzybJD*`doD1kT+7GLjG!;*EeU_sR|+x*2Ax|N!WyD+7(G?SNuIF4H@}1 z7F}(r7K)lUxw5EBstfBHEs|Ifjo=Ek2a}Z}Hj_FZn(3WLCpFTdFQOioJx`xy#Yz3x zGK-Xg=r-;w#o=tu@2@N|63*1l3m9|Mt3IsPfA*ZmRFZL{jjB>bo~rl%Y_`ymh}qs{ zl&!~ldP7te);G@amo3}PLVE14hqFV$$ae~?mVgmz(%23W3E)NS^H|w~S$H_`(pFzR z;d@btG9lesA7+g{lGv2Mc52G6f*Y-Z8^-Nd(Tl1qdnqmO6N|?Wz%QgC**TcGDI)P= zFHxsJZF(iWf-*1T8jbTWXLEGLWWn9X*$G$l4l2t+l7e|p;4vqUI$08U%acA@Rfjxi zafpAnRg7w4L1oEoP31Ugslxl#U1vdo3s(5?p0v_^JcHA`Mjvq~N>jv{7n^u>fBYD7&eP*z(w|NSjNj2;v3XC;eUu>BmSRC8^@}cC)T&$j@9nrl4m^PBSv64LR zIZi<92(ndMd4#&YSXIXg8?yP%8ou6D9^4$!qm!*Ng_Z!8Xl^>~Gi$RL^(cf?%tF$T z7f4bjp^@50f=Zp0)O8JMrl!gVU#yqpf)iT5B}!CE|2 zy*)$JWG%Le!q*>i!>;Hj*B2dTI^t_NenWmYtHe$nTs7#5ryORvndXheCh|*jh@8y! z)kl)SnV3gyQh&Cp=L0lLEb>@yL7a75Do0_F9bJK)cw(U>DeVWjKIP7-I+Amf zBS4TI69$e53^wJgYuNPdQo$k-Sciq|1Ha=#*=Y19s8H}$tZ*o%cd^&=40o(4m*Y2+ zD-17-VgR3a$;8wlWJ*0rIy^w(Uu5}!!O3}y{p zl9snIA(POJThy3|pR5wdyNy@Sv)|ZV?9pC3>9ZzvF%}k5T%jrEyNR&WaF7vR*Qq!B zYz9s?2miUGnk$y%WrT=3?_2#}cYgo31?c~a-;06CM^Z!oSGK6gXh;A56@=_0F=^Ds z{Xxp)buE_4O-^D_4n@59+0lc0k08@=p}g(XxrG1OBDS{^ea!{aY~k%{X6hz?N$GXN^N4(CjN0|yKpc0k z3jvX}vwFmBS;z7k2>o!dc8x&8OuY~+%z}Rs4%PDZMa(^|jOzz=E(2u?)p$wUwkpKo z55Z*C#j0at9vue%!In|DN9s{sWO7a6LbWa^i*eL*)}$lbj0@1ELQ7kKY201qF~qU@ zm4!S_l#Ap3;iYt+xw`?j5dfZ^=~VW6KL3uZVamXH-tP@?vdn`cI9iWxBI<%$;vz~l z7(tN}QZY}v>yLGu26g;q&Oyp|8_5G)qO-nQ3zzYH)Umy#`ya!lW6*!R-V=9egtaYv zIR|n0&M0fUhGolIPAq}EVXfdn23(Rl=udP{S48T1 z;7U9&`-jMp89>i3pNr20yW^s8(e-o8LTHK0Bf<2Za~x*l6{??MQ(V#Wsk)!KHt*~V zaC_EA{5{#Di(8qi@xg6`=xyHD zgqy&>)OCmQ+5ePOX=2q(_Xpe6*g<+zMA=JS8MM>5U~q%PLvRk7L{u3Uck;iT%2oXs zl*Vb2vs%nXY+1qS33|C@#gc{7ym z%Jz@Va@)hGp}efj!&c`AN4w-#UkHK=T3W;K)f!eWZT8QDvnJi5Q?j-~5jAWd8dTa& zFg)UR41kL?tV4}IyKgqRYoNBxLa6vSU8?WjIuM?sD?qDt^C#+^7o2^>CG_@>5q+;8 za7XdLJ!{1>mwfVI@-3Su1WWUfV5J#vdQ==N0Sdd8AN(A$?Gx=AcM(^L_o&`yn}%lm z4!cEa=8|~@GFmL5l|$lI1sU64-iZNF%v{R6?Va6~bRmNl>o1IWcM;+Sphci|bCv9o z2z1@cOp$daLs_PK7|EE{eit;7mQikt&c1Nh4DTglA&ve71CRGbsfDrjKBVo&zsGvpm-B#8orp5BiK= zy^`@Zf1U7!3xs=^x0Tn7D-AxoDqud5ft$RJ(+nR6mcE9ATM4qzomcYvBjGbDbOWXp z4wdL`!hH+ls6ka!ibuW)(jKuw}PK+*mh9qHC+n>v;4Rtx--qxsd zK{ufh(+4~{o$@#DY^&;xun^9mOYVIaBs?{J7>(WWg}#j-Ro=s=2k|idykCvvHDr_4 zObD6b6L01>l8e?b^Yku^mE=ycKhPO-mx3+X5~SOnZ^_M&+w1lJ$IP4tc$YnHFzA_ z_KK6T!>{j$ovP)M*Uu#jfpggX6nC4$3-@2qdx+gL1nrLq6LaL(zEu+L1n`87DcLC2 zysV=AGgLiOorihD;a4s0&U-_auEPrtHS&LhHOepQRf55mWq^;KXDOcWr;!1U$58 z4qG=onRf7{D|99%y8>I{F=CO#*$MAkb`G3wm0vJl>fS6=oBV3Bx^+9r2f1g!LpPql zmAXWZLk0B-bG_kU=$HYLXsAb#!BosKCf(&!7{;TIw#wVz)|yq73^0m(*mbcFp$i8- zf|13ONsG>)*+`Z-QqlgF3IP|XW6?KO@o%@zVgwn3m)`l|D$&jHsTskx8ti?T$w==g zqe@{gV|LszxU|wUbkl0uH{C$f43ktIYS#AFvcx1aNN|_-y2`jxthm+fjZ)UClg8=& z_{sd4_K$GQCB$F;Kk%oY@-V;$UQ7L@shcbpyj$G3_zOu2=TMsyc~pmLgJKf$*erH4 z`p77*sF)%mVe_llXCHyTVT)?P(b-?bCrHEI@^r2b7?zM}ikQeulSdOpPIaXonW$i| z{v|V5kiXqE6m>8{vB^D7^;uW&G@Y|o2J=VulX6i72tDxSR3tIJ^rA=KtNBQ_BMVA131>l|IWyhl@l~ZqPO`xpIOV`W zMt|8?VKOG!l#9z}&!z5m^f~O$3JRl2_ zT!Q^}B^R#8LLaYL&uTd}#&{J^Hqs+#tk}`u#t$1&YyD3}cEX{-Ok$e_Bzf)hCI3kj zspg0cuY@^*Mk;JWS*XgG|*%xqiAF_s0oR!!2jzo73jjvo{(C)Yc7 zUZOY8a>L)Z+^BQku~20{i&Uih5-~svFE8tCmT(okJS$~&1=mzldXzs|?0cxU?o|le zxaTLC1z zze|{;dHV#~WXB~PK0nJajc7zs3h80I<@zm@)ar2eEl9k+yltB%?DtuO8GwIExW})h z|1OJY2F*1~Q@~7W$?0+|OQwz%$?Rpb0HKbVln~h;bQZr|&vwb-gj%qV zDU2>vl!XFqi*IJgB~6uScLuP%Kd6G}-u=gCOq*k&cr=#}$1?TtJl66fUZ*?2DT9H9 z3?Jm_7~+ananhE}ZNw{$=CyeZ*~s<3LOo|f;e1lh%W)DYMOM9SjelU%JZ*fjc9N#; z3@;Q8S4ft2<6`t1$KY92`5t&rJt$bMyd5ZISMrs0w%Ni{RT|kbHxd1!(Rv^{30LVJ zQu^axv6g2D5`kp(3*_{8QGz;nbD68#d3A&F)epm-LScXrl zp&1$O8O|G%3~&@y;#+>w()6$9h8p?-`l6Rr+hgB{0h9Wp=dxbsL*tNZa{D1lFK7FL zLGb;DUkTaXobM-qE<*-8T{nkg{a7x%%xs9MnW_p3;J@3$vM?>pfNKga;n2=p2OHxG zmGHpnU!=L9nP$_siNrU-?#Z01Kq_+GXf<%wH5?s__}yhk`b*eGSDE`W;0NSu@Wq#C zUR(8%5$6sZVVaq4YWCDaL+^IOp;XmG1wKQW*+#mCbak6GkmtS!lT-Z6u`wgzO0dcA zP!nq-bCzEAg5a7%#|y z&INAb0PCTDryJ~;H9EUVMsxH@pg}PzYi@ZkntF!xgPr{N=bs#(1hxZ)WSRz+HMRk4>K3 zOfs*Do}CDj$x_`|&7~3A>H&)AtN7>~ecn2P@9^s*ZdU_l=Y`}xW_}FyGB+kRhFoDC z48_@-3Q5nO(L(tnRFqIB`p`QTp@It1vSm=F;?;Fy_quFBT@+Y@?KLJ8yAOn~`w>&e z*PE+2|J~O-h%((Zo;#FBA0ylHgFZM@^Y<-q`PmLfJ+~znM*ttUMu-6#PRBy z@n@yVt%EMfG<2o2`(6k?oBA@`lXjGo1+&#to6r6YobMJqWq!!<@!3kf)s#`F@zQ6Mw?r0@|U~i$uwa zrW|mZYIFs+6?(^p**^$u^agG4);5Tw1cn$zGD6I5_-3wpEm}^VjU8z&c?CC4HQcf9 z1rLT4B8>BDogBdV>6y>?^1%>I(O4~mtU#6x@mjX2rr83KKj6DxO;Nwng`rfp1bnI{ zOdZ{Prn>XGhDq7=7RvVeiT=F8H@vVBI6nplN4!BWIyuhwN$Hyad8;39nJTl8wu1l2 z5j-{q{M>D;JQ`6O|3wlixG;s>-edfFx;$jD|4O>-TRZ_!*p)9VbswZ0%*AdhUd>eB za~(u~7ub=8)^iT-cngm)sa#o^7m0USm{L9T3cs4#ggYrStHYQadwpgrMLApt52#GF zf@9PApjiJtyls@GRbA=}p?wrQr0S>rTM3_)t5q=gzu=#^F%Q^l^fV6n6L(IUY(FDX zgY7R?yGfrh)qViBp^EVXkHq#43>)tKX4etPgZIgCithoE_;F}d+9-k4T3Hx?x!0Xz z&0;^H)?yxeo~k#ZirI49!5Gz9DPn3445!+eh9?;F!#C@*L%^lt?qu+Z5HRekN~ipZ z45@p+`5eodz++A20{RA+D7`}BbH6}U%58+Ou#CKU%?Uj?rHWeB4VFH#dL)M5c&W#!=6WY}?2bnoe6_IL6^&@=Xha#bSw zHj$^1W5Yz4oPo6y?9cYBTG-*?b5FE_RzpAIFrnwsjGj_2jLR_G>9K7Od#3TGo z0H*Dlt@X}F&hP``446)XGK$YZI0`>!u6xk!nG)Pr4H7NP0(ny0;VL(Oz3<-Ak049; z_ItHE6c8J8=Bc_qCh|&5P21~1H`phn1duxeds#EpW$URuF~z3%F?iKj6W$eI(Ahtf zRA3w~KM-{qs0_LH87$j%HEL}9>W!7x(k%NRm{nkGDW#kPPp>wz{Hi@^-Z zQ48>y&y+oV{w)lQj8pn(FSlt_EE}yGa=S8nkj8c>- z(+alAUs@|OeYk4Ik~4fWl~wH+!{!ulJGNIS&I_-l-I$CYaD;|tYmSqdIYxz@GBiD| zD9Ma?#zIEQiHJ^tAe#^#4-n+njHoW)Z%Aw26Xx-VV?L(0?6$JfK?&_+$9oyKRh@sS zXo&Rd!)KveTLsr=B~jnw4h}9ne0huJ2{hP{uM{(&7Wq*q`j^`eU{CW_fe&;@uWGV0 z6iUHHhg_o5Cgif7A<~wYN^%wGH?M_kCk<*quGwKPmrCV5OO08xM?CHNY<%!vm(cua zJR`2iFYUs)$Amv z8Fg!WroqcH=q=YIvI~pztA&=*;1Td9K74`LN!NoL%HMbcRo~{Q&feo*k6VUhqk9UZ zg3qjydTzwq{a}s&CJIJo3h|qlNSefEc?fS4|LY`$d%yp$IW>VVbn5&j)$nCmWt{7; zG^y%OK@F5g-2l!|iC=?!y^(P=UA#$TD4M){qFr1bb)w?qe7(S(*w)_Nc7{47n}&H_ z^{OQ(B+EpU@>G)ouLtyf1x9||eB;seAiW!p7=jz_Xx6pL3*krWp{p_R61>I0fAk6F z??I0S{udH(RW407$n_z;Hm9N$swyev#j<$Q@bDGdm6&-z0RH~aed9PGWk?OpAs6UqgMioCy!)xPSu2u6Ihyq zm&$iI!I4kbuwRW!`p^*Pp{D(Ig=V9BFR^~-P)1}^(Onh`olmX0O@ECG8iH?wwv)7P zQqk&|Rib3{-i3Ij$Az^$^Ve{a(bIQHt+Hy ze_M}a%8U~av+v4x1cda*55AtDP3tj?oi02dAh!j8y#Cme=gaXgcE(C`)crVlyY?ZQ z2oj!^(wZf){NOVVBpuFY-5LVQ3s`qGkFA;mOE?o$=q1*tcy;_>U2?J!UFA8xzO)x5 zp5;z23GWp!*&wh(B$KfNT8`DAeFhA9d;Vb&vAwOPo5oFMvONo;4F6Fa*7@=sTSH&5 z(&hg_jS03~I#;Vs3x!@<4Q}5LPwy8eaa83O8r{*Ty2IEjsEag@`48Cd)S6zBd=yp#C*v>;iUlUe0dz|V)-CfFw z7}L^W-+Bv~P5bFi`p#zepM3XWqq{}_+pr? zO68Nq5i|6ic38^uFNO&JX0bPYFh_Kbe~BmhiLig{g0m!@|6tkKGE*S7Gq*cIyW$b| zSGFp35lns*L2b+QyH9@SjcLak0(wDEdkZ~~15LO0q=^G*4k!5y$$~em!wChW%O+~( z4@G-}Z4;F2ORV)L68O%#8o7UrXtdESfVmL^FR?neBu%x$hV8IpcikH7Orur4@r73S zYC#%jhdQ40gSfwNi(APXu2vYlX=k#<1NVvr3fmruCu54{z>shY_TRxO)6toQ!u@~q zBN{9XPpnJZwPlQIF?$Gqb2MSH@}g>^@o)TQUSJ<55uFIy3jDibp&{X_ z^~~wA{qiWxUS%Kb2{?rU>mFta|ArzTk}8aT&6L@kqJ(m9s+hPTs)Nl@w|g|=o2Hyz zzbB;OsX~={?{GD1&ztC0{Mm+t6X~kWmsEHTgQ?PFt#HU8TM5GE0+YTM90ubXO=I6h4VK>sr6&~S;Hza{bJ@$Ws+i6@Xx#Krd}FK2NYKktwR@Ey zzK1n&a89Wj9>7n~RK}mvUfT2+R=D&+({o6F$l36=v679uhwv+!s|l8ROQPbOxP@Z+ zZh8z|QKUKomZp2i-*lWP#4a!qtpaMV&1;T5ns~IFzR+azA2^F6z%CT6bYM@+u4b*+ zuFcE^Ns1pikj&Fqp2Jz8G_z$Kk`ItS`hYWyz!=smKh|4ET9%aKHIC`Zxhd%kfWmP{ zrF%AMDj$3t_659OBkW^M8ld5{SRd>a7hc`aJr#L~q$8nw6o`FQ**UNYw5zI~k?46D z>5FyP^G!u*#mC7?)9TW?%58JTneg$N_}*}x?mnlKLiJA3ywp0b?v%kqw(?9S@4pP(5g)*tChSc79 zBYg|K=yoxqwEecC<#rQTkf#$P|DYepWNN}f@wW{S{^!rKR302J=Mkz*VY@wwYQ5oP zwLsp7zIQ0OcSCj1u*zU2Op=v$O5e8~?=}!C$hCL}ZNvQmR>LjS9JwoFf?U|&NGz3D z>*!L`P0Y@!PuI&n@my}|Z?LyLOB}czYTwt`#lRbIx>Wb)LR`hM0=a)&H&QP4UUA^% ztq>7^Pi&2jY@NI!dq=?vQ7M0{gsn_fe?w;_kR5BRa;|hh}wgw|Y4N-AI5# z6qpgRb^$c-*GJ9=tk;OrpI)D2x=+*&WM zYSnrEYo=M;A?|si<++P+PnF)qry_EqE4Xdj0-{Ds+c4qE@y=#+<{#RlQA+kinl(#!@*?O%9w3JTN26H8UExW&>~CCU`bMh`%-4MqS$L_ht^?|cJ&T? z_zj(Y;Y_rOZ`RgfJ2Z7a@&|Rzv}q&IubJ2xsk?uT^KV)Q=^(i&f@r^{7+!Qi_4i*D zIFe1iZ#mJHEq?#Jh#t*k#GwZ`Y}qr2;!Q^QhS|uoeApj%&{2kenCrV6t}D|THfeHw zXp$u3FuJ+VR?`=4y}E(~pjKYzt$o_vEW6MV|S* zYLv#>C45c_;CQZ?)fKnqc;X~%jI!+OLESWQe6Q|AzT6j_suScCg;mktb4-ow5BLZ2 zdsZ_!a}IL-jWf}*d>3WhSG*f0wvPYe$Idhcz(>n(YavNag{tgyd;m*HG&4D;veKQ>{-xb?&*;7Vv^)9nC zk<|mL!S_JA!umHbo?D&?EKTpG9pjJh2UqNgJHXHwEF0-#u>C$jFhzsclWiX!FQ<4k z#nepicFyq4fqpnVrt%V*afI9b=T~CMMhn`?IX$F%-aKQGD|}*HTy>l-mo6M3|KzwO zCPdDK9$SD@(HT!l+dbYUKR@pYUem7AFpUr5UqSXc&{{r)QABm+44VGsKbX@(vAfHt zO zW}Q0>om5C3UkBR}q&xF*3My6tHe|VS4{VtaRqQSQK z15m{{;%WDcKho_7XDVjnjM8&J2JD7MTa2Dw4nEFd{yO>YF;4VdH_mgATPh8&s3s)o z32gN%6ImStdBK&YOb*cmJ%7jlz^rSlq$QtCjG%b+s#fCE`ex!6!E1p1J%hA?INRAK zP{bPBoo~nXGvfm{DhA2ua+Mwz6rl^2Ih2sxX53`U2We?as=P(I0xM1pHv3c$oB@*3rV>B zj6YWWS(u87xOQ4A^IqY<^!%~dpCw;e5%XY@b*&Fg6QwL&rKIh!J_r4oRs0zn{>*yJ z+>Ac2(7fz1Tp`XcH8!Wb0TR;pMjmL49!a!Cs}(Z#jb>oVkb5mS68#4tJkFKXMrxPE zWU{>Hk&)=yy*P~bb>z)T|si%eLQWHPwsscw|8)x<(Eb%1~dKHY4Wnmyw}J0c6u8KoB)pM zW7uQ2#~~jQv2;a(oiKT#p7DX7ZZm=|0(D=71lxNPPBVNqgeJUiPnF5yWoM6r&WgAz z6SZr_$?2rX+V{XyD^r?mT5s7!D9~ZsWMX!d$1Ld#qm5HeSAA964AwmX236&F< z7;u)XRpGX?_Nng!c-LbPQF2&#TJ+P9l%RR%)a6qRy)ctanc;lRZMO z$&*>NF`EiDg3}SF$;Zb=8_`s3WT|rPUHW=#twRLXom71v@{51*Gmzzn9-%V5*oU|iDH{qKo>Ac=`p}PvKT<=O z>m*v~O$c+Hi`pqk-mZoaqN$MUAyjKSMpD&;P0ARKIL5c}BUzAaZE@!VY*iwwhC< zIeRfrbL1mN4}Yj?6|)OqKM!el*fR?L68{d(l~@g?xD)q~M}}k-t_QecA8eIrj`>bu z6L59>UoGqG7PT4Do~xAZYoYG(rtU<;G*78tPUmeke}um5=q+P&(R0yw{i;Pnr-nh# z|1I|G0^bWZ;2wijL1c8SGsAI6kI(6jdcp6UKBV4jsA|f74wwZ?2zSV4y@P^W7|`cL z@dSK1>${jqUz(>1;c-z00ev^jaKY8XOiZ2O-*av7yRQhW+%gLMW&gBlA&=&Avdns*oH~+Be;F`@^C?oW8sbQE{x!sV%PS zzM=Jqv?mkWv{E~#3#f?&Hzkq&3z~^oTdbof`lnqbH>1DPBVK=1)>MQo1C2Uj*VB+p zJ@g2hFf;}YdpK93*Ky-u30|<~k9T9hQ#!$r_7MFZJo{uY;nh4wBl8Y=@38o2AHGw8 zG-4rWg*R8PS7Vn8d3A$eLN$~J&5p+`Jr4C@vpA@&J(;zD|8hYlGq4PZ7}}&gF{3Nu zlsvsTm#C|o$0n$;;-r$y2L$8QNp-)NT$1cMZje92au_VY9$pSmi5(Zf%$biEpQnu| z_-0x?%PYp07V=+cS)A!a7rn5=8r5YKhJ81vzOissP`=QQ^N#i%`8QM-x^_L2dCr#e z&~({7;3QCgwu$ifeI!w!za*qK%9-kfy^ll=E1Jl*mP;>2LcX4%dkdgcjQihuHhIht z@k^!n`n0Ot@xiA_kXlO=U5ROu+PCe<{7l!1Bj<7q4o}v?HS7C-j3q|#%xBTP=IAp6 zmx!UawLrSzJ>>`g$@U-AeZ4B;7+8{)8!l*RpQD2EHAe+IS>0g9?cacx(P-Hq z!%gA!qM$wE8Y8wDHjG7NuHpc5K|HFz3Gc!TRIEFF8EvEBI}eqgvWN8R&`hQ%5Q*~s$}^+r^aP}^=h28fZDVbVN>D%zN- z(UwQo(!;11aS$tj@2D*YwAV9%7W0{1J-{iC0rk7efG5<{prF#PXdR26SKO){|L04| z=3)l)6!|#IVsG0fvNn#>+Br<;Id@iG{^$D!lem3dHvk!yr{yvE7dbFHyA@ZIP>)!8 z4!{w2p9z~#JVxvS$OMKavE-g24%hLBjkR_$iA{ozo6z2=KIjEhlyQMA0IP!xlj^|@aSqtIj8 z06E1YgtqWc_-F|w5iS>dKFnt;F7APjSpLB-&)p%ilat{M0`Vdww5(GoY*J-=9-2~^ z@ZG5DC=wE~SjMaNe4g{BZfNIXouMQB8FhJ3 z1?#H$g%Echs*3Y_MtR;Sl9%v$!8NCq21{Rn0tmsJ45A2e%;Ei1(=8ge`a+Lnsd$tg zy9*#&ns@8{dsK%QZuqaq)#UZGu{6U&*ufOGXvkqbH2H4T5=Li@ouF$bRyM1XnP5ri z$YiCc$J#i{BbIH%+ZHQGI}RVBWPyn&Ety&x3%C7M5`ROFjH|Bgs?|;N!wn<}n(DzW<_o~5#D-riO z(+$a#N@YoYIwPm+VjTNICF6Y})VGgkJAyw*TU2?<8}{HY%qod>T{V9-F?bzzI-;GZ zT6TQ5-Bk*`%X54Z1CF{3(YfZFCivCD zA55-(^)hyz=&;}pulj6u(Y3W%#}b*33nM}~6E*xzswlT0ddPPO$k_i9*myTVY)G z^Bd@sXOS>}rjAH*X(E1sL=$6zz2Wx@JE8RMLWiE_!P0b(PA(6f6NhchSGgHshZYTdX9)^u>b?pKoJGx4@um^~nN2(@OhxJgjoK+u=>abVT z|K=JJFi3C|VjA1GWKxMw2tmMw>#`vJ7-@>Sbi(S3)6!~PDgo{e)fRkztmW(Xe`SEO zn~m$|cEU@kf6$11;#ZvmYslFl_&zB&BGPelsrd64oi}NJBl#pxu=A5Sx0uKLcXsEL z2jbD#2y}k@h`UeJ;DK#Mc!AM960|n+Nf?ofPnSl!g5U)0mW*m{g8t6wHZacah#FiL z49r}+sTbcMm~Un2<5y{)T4Cc@8)=boGM=~i=kxteWj8{6KSwUGm?lfVlmt`xu~@QP zR*w-`{2;#aM6%RFH4%|zssgjc(llI@UuR^Ti#RfljXCuVr6SJ_jnd~?%g$xceH0b=xtu-gRVuR z_VH;(lITNy7k%-$AX^bP1Q0Zb-inwyNI$wyB@?ZHV`XvM{O(gH^|{ZR(pU1W!=KTh z4@C`qdnJ3kY5gRM9B*Q}cu)`aa?!{6z^n6_L>5^zfiKl2B*_xzgLS$*-2@I2(TBgHD@aukAg~Ebcs)V0qy4?d3T< ztr++l@P7bog__6c_bYGJrcBh_Qg(T))>Q?=!`ni~9Te%00XN;NBf3q#bpc=6n8Pqb z=|rxq;V^|ffqF6<-y9kAmk!-%DLtTQU#<%~?D4<--N>)ew~3d26)wl-tN5YS$0}YpGu^4ZkYKCiP$1jCt2dJ7bn4c}WY=eO1QF(&~ z(Ofl{P*^g)FRYDOv#OJR$5iA&NtD_B$Cxe>gE6cRKGjO%c2`|Oic7L6#M;TBn)C#S zk;R|!BLCu@`Nc)|>=S{F@t6&IUl#K)^BKsxn58w3L0?C9?wg>x0$oQAzm{3vT8pT0 zu$)-^&>N{X*8lX8x1oh`TAN;ePn6qtN088se;I>bwE}(dB@JIruaaQzv*2aD@#uqW z@<{Znkik_-c%`%n*!$;~PX@OQY-dRvNV^^LUJ5x^h0MPF@ohYNU zWUO>J(04hFqAo34QB9toqxynu&V)BZXPuzCl;Pmrmh&6ZW_$Wi(@jx0)R zA`t74laZ~UeDKuPsDh!%4FQur!C7L}b^1ut-mJW-<`=)wx44x#4n01}+6*#IddwU;`s?(nl1_>9$hQ5+oWF9a(ng{67lw#kCLRkpcfM z3*xu_Jy!B#1(7WF_P$8sFQpKZlP|@}8spH=-pc0Q)ktX#+gZ}Ej}IBUUL-{jWm6si zEtdSR$HzE$usZTZqwJ0&dHnc)rrX5DB$c!mC4D*2s>1e)WrLe~_>Zl< zxgEnir}^r@#}o|yMPRr}4ipjfQ2#yeg&#JnpbHlsiQ0Sh8TA`0A22j2m;GB+y%JZ1 z-MHmLkybBnvhsl9Wi?BpjDrVNT-BBrzOHjrjn$tj~N=- zu`LF-a{X^492@<-s@<(S;c)^8Q&7*UUt}qlEw+))fw{0NC&f{=r2`n*Jx-M_s}*sf zB^KLvXmee<-48MvR5Q%EpUnN6)3|L!kUm);B=)vXid$EAF1`dUbbs$i@xV7#-n<8@ zrkQVQ&RL<0;?M_k*E(`jg%pn+*mg8GmUeEKiJb?jVa zhN`LL=b;Wde^5Zr%tzag%k{0TtxdSUkU>lf_yhOpsn8Ba7JDrK<%{ybRRuj3CD44KPS&A~ypn=T-ua@& zpvNGuu#2ah59ESg7Y~c{h(h$?-Mi~pCV^la)tf-vxD?H8!~w;_17zhMbv6wZ-`<`fO>vWZ#``TeWF6J8G( z%zkTTLA_e4M`InGNpeag+xf}QdVwMB7ww3PA;tT|zVh$S)9qq!c zfW^xmGM)#tG>Q3kiQ@H)lS^n{V@oqmu^%YiKbpk{3pj(_=|rc7IMfF$6NWmP!|zRuzfEa=X&mJ3GU&$F0IphRS`B=}X;f8ar$YAI#3MgkVw~jB@T(?!^PgM`8o~wFa~_y3 z__ic=!dKYc+EvjyiH+1%(kW%#|gpfMWT!KwCaAA1Mh}H|kS81cr!!qRU$K*~h)I>sc@Wb}xR^Nqn<@>?E3m{`o?h|% zz z>RU$NTY4hQoi^ks%ZXFh~jl*aVxX)V69QFY+VNGdkI2*Y*0cm zwUGTu}Ho!8hQ zLuazY|3+J`cMxgRcyrjx9=1YzVK8R|c3LBH!mW|v{mvThx=+A7coX%~4q~gr)sy?i z_4p8D#W9?E%ZOS2@E>$OW0b;w>U3Iv!FIAzyc;>dbZ;`$--C;HVX%+o?vR@#JBjF~ za4Ynu%F6ex$G?=R0<*+3O|x{&FelX*kp%e)rAB1&yu=4*L;Q^%H%vrO-4KwMV<{n_ ztntv!F`Tq-sbQ}YR)FsJj+gdGM`CbHZNUt4#?Y8@wBF>=e*y#~f3Isa(D2dd@K+^I z8N}%Jy`g^b7}KyFRh=foTj(w?37OjCcLjDmS_)q20+~nEk;^4jqyNwaBaqFg`FntM zsNBz+{p=XWUdi}Ru07SKdZ2E{rxg}US*&CXFc*)9%lx#L#(%V_i9%<5_CrxYVr|I z@V{04a57DTr50={$_v5%(z>l-{9>+?=Zqe*lcaR4C&n?dYp90r)b2!HYaQ7}P}rj5 zD)Hsj%5pDpdXHwJhSE#Vh6sYf1A*QdZr($ji;vY@I!Nf?n!ylk%gb3@)e`9W z&(Gbn&=hIaDJe6hv%={6fEI^D42V6RQ^R%)eq=cs9m-Vc)%>Dk=c8}w=grYM{N#@_ zzC2k?>7h^aeZa6mMxlPuI)~d&MQ7jCwI<5&iFGBp1O-qzR$D4ddMPshI}tlbG6H9~hJ}e=!eIZ~K2rk4VBpg!k}6p~7Bx(@yw~6ED_sP2IZJ zWjiI6zRt+Mt6K9zj&J!CK$t#Ta3^paZdX;OdU!SqZU(McKV)X}lJN@0>jTfA^VjfJ ztB1^3%Uw*s(cf8QWL5+3;J29$QkN7;?n-oBV!97jOp_QlN$d|YXsYr0(J$vKeRd01 zWpPihx+}W=^NU}8L_sodgVmCJg7f*n5DtUmkLR8c27X1R|jCule; z{aLl;{K|YD#aY}tR{QWUdX{-npxMwGXZcs3mQZcTwT#k`%gF!c=hbHMsB-u)xcE3q((B)@qO!?XImSA6m@PMAPA1zxtcw{Han?%x(n)ao4RHy(S zEkBd71lVl|wK6TR9gG;VTfH9LMaC4gN}}aOupdj9dpftPvbZoR(qpgaPSAcBe&1q> z8r*7@)pc>##e+XXJ%{OTu54jeT(~|>X`hAX1YOnNpW3&4h?GUUki?F&8ss$v*1JE# zdxx3w96rUlr#09~ZffUCzZ{f7feX-I5}ai9P}Mt0{d%*Qi^Z)mewGuW67) zpO7IP-&~1j;2rp0RYbn7^)O&PM2-h9atf3+$g^oJvVqNFYIRkNC%gf!D`D=2w@sip zdcn+`%oP18U074l&)JSpyz0yqu|E_Xmus*6;;lL)UAGjn{Q2YHK`}e~T1-27-=+0N zdc?w`&~Y|$yQZio=%VAe*vWCZFAy90$!b^ihe?QolC+QUy^sL8NGYjZjH#LKr+ok~ z%aLi{=n88t?FDUeL<Yof8@+ZeAz4|7#ISVOoUFq5K|Rl_g@q3dKWQApO(}M zWO;0hP_qltt6kTWvBx4TcwHNQMoRh*C>z{h`Wz@f^>V(hHN1#HTi0ya`iLC$!?Ts0 zS|X<`^#i8&tP{N5i`Ao1Lrs3mKy0f?)bH8HyQRtK-e*u6gH(`uo&8)DVBS$FlaovZ z418}Teub^FOD6(08AFNVeIn3Fl2G-&Gk|wWQ0<}%TYJh4j?!vQ*)s@iO;FuL`iycO z8N7Un!V~V+6SYGq&v@yH{$LeP`I<2lO$E6*5BFY`kXa z$<>rF*ah0Zqi>i*x7PQXzsJ)K566Scv7c5t{{&8p?`l=eQ=zD7sj=pOt7Qx-+(=Co z!j%S4bxMFU!EBAJYoxmHV1ETuXxUzA_4t&<#ADBv{0^Vf#z5n0%`5-BW=Az$7^}-n@fU*i9AWvbVHXcEbOhb)v)P& zSzVZyaK0u?B>K%I9=Q@<_Ur&wB;kE|s9ma9d6+MZMYY5?QI;rT+eE>KIe$rmqpK_z z2E}tU(0w&KcdiB(9y%xZ=ICp#ygHCq;bL63Q?xQeiT2mi$TM48Wj!s1x=^asl*Df%!3b5A7y3Q|}k z+F0X?Pe=bd?F|Z9H_2&pHXK1og*@i|Ws7}S8 z|6$$W7Z&;3&2o$#l{4h7-F9q(`_XvT$!dPdm%lG_*5zvg8E{UiDDbyj*&-On6{mpK3TZChATIXsavvJL->Z3$-9Ev%L#G^v$(IZ9X=2_omu> z8xH?6LK6!%vd5~$i;d@RvuZ{lhxfk}&sOjbGZ&|S^E>b8J=rwB(D3Y!{_i!4J2%HF zzp&Xx<=yesM#gyb#YeF3%^%awV0hfB$Pi$^99Yy6M)=oJm-f}r2y^J04IX6VvP-@= zktc470WQ`cU*~Gqv~hj-B0{AbLYt^bzdP>jvp*L86+z>IeCi9#Sd9~ ztVe9krtU2iRhS1$Zyrmgh(^518h#U_t%gRLR#vy3TII|PW-cenJvk%M#xIeabNj25 zFV-Gv`S6lPG2N9XRBLT(m_Fs_z~c77RWDWt&wtL@bvtI{KKMi!1p$0N9F*e zX+8{vn!gw4of@KUY2psE#Gr3h*$!#rff<%$3)M=nGMNBG+%U;Z&fdVtme$zJ<(YPy zp(!e|>CSq_5kbiE)y!e$rSgE3t|%SdixOAC86W*-e=%eFpE-l%Z&`Vz!_BwR#SU`H z>+3vm>c^lE+J#E6U*{gf`w#du23wm+`X$fD7*CS?1`U0bB;@8CrLP2Sv(;q$1q%N@ zhfOuD>2;PvIflR&f)&!hMqpfZ7q=^FlY=~`FQCD)cBo>}(x9)rtF1XulIGQTr2MnV zXU}J}V`{g*BLLjen*x(+oGP?=&g5j#U29oJrSfl6)WzzN`Z#ZV)KEbzHi9VMbxpF& ziAOVD!WXBhNUSTCH-`qX(O1A_k6UkyTieE40@5xypvxj@l4EpW_gUp!GLd_dQFaF@8sw9cX4;IRSpy``<1D^K@=eqXM@ zTII4%C!iUf_%jsYxUZ%z$g*=xh~TR~nl{UL*rOmW`nHik4%;|$19f&4m@-U`Co7D8 zls~04S>j}kRuWoI|G>^M#jcrBR$7nP)|ccAd%*u=HjL7{oRXgka9@jaq`bjW*-IAz zMZ}<8^=x9kblgB$vH_adLVfNf>Jtwduj<3{`Rhx8cszS7(s3NRR?Krk0|o&S8gX1z zk$H@Lp}@5IOr4!M{RJ&fA0ib~gB0evV+!%6`$_IzfR~^nF7%U_a?+A$x%}a~J_P<1 zWNW&VaGyS_kR%F=hZcCVqtrVs9<8O5)9r}r@YhU6LmPE97$mVlUqyCWDMRlU8&o@0 z<;Jdyb=u$anR;Z^AMqT?{A9!YzHWOY`?eRur-kGaR0(cOHT2IV&c#TdvDC(h$WAKy zLTQ7n`L~)Ii@uMs?013RoKK8gt(od3tr-7ajWPQC+PY0sta9$kszk`!|`!^b#bv27EC;I#%k$p=1 zvTb*QZ6E1p3W>B9-xDv3f#3Y#kI?+9AKh0{#v+8h#vPSRLfF#j&(WZU%rC2pxejXW zjr{(~jM3)oy{Gx0gDR$7M-;!S2CVp__PcG5=Qoj` z*>V=FX2i&3=LBUCy^)`QHrN#yqjtVZ_@TO~EjP5w=t2Fz#ou_5z;m+bLzkr(_&E_t zxq}Z{5}brz|A2A$aBLAsLA}il0bM4W@~DT=$cb=H>u@|#l~;_P^?*-{S zDj?SADB4oS{*Q4WnUX4NTB`IjvO$W;R=dWYdE5ouM6h`0iMdL@=n%neUVwMhWW|Rr zd@yfvA@4UUeKq~QjJ^!&LJss(pHo|TmJ~FxLi;F^=7>OZ|DSk5uc=8_7XJU3&Z2yr zk5?gL+$X20(Uxe5`tJN|=}ZdcixEK%RQ``ud+AUu5t1C-vux`djS;|TU#sR$_YB(fhWL^zBfd-llIT~lGYUUg_Y^&;Q}1eb`YFg zP72XLZSSv*{Lrj#JAD!JYu>NJ>6x??waN4@Nfyq*doM2dzkzAky$0qj)4Fx*Qq&MH1i$Zx|s^()z5AA?ip)) z44No5PB4N6AhDG)RhW8M(t8^6R}$ec-2{qE5^&Ax)r~T{dbzgs6iOVOx4H66f(J~^ zha8tQ_f*%Y=P>;4-JSC!jlOSdZ<-SRDL0%K){x&(<^k2ffkhm~S12dDH5|A@ArQHS zL6hW##yy1gUH==LjT+1xd%G-314(vM%nO0B_kU%H88?kzK)$pe3xC2=fPUq!ZCGqd-A21csr8MTJ?wXU+S|b8% zySa2n+CNKW;VbrlnJfMb)iqt$gw--n0tZDL%Pn)7rno&0dm9Fy1JbAJB|$nvs>nP9 zKy(u@-7C{4XfWy(9pM~;MF4)V(h{VA9+yn9T-DX-d0RIUdXSx&2}5g!Zer{1QU_FP zn+Y6p;i?aE^G+y__E{g;40)MnX)E+!!UYVnZX+TnWxIs_belOj<@$i^Ft+sUs*50* zd)5p=i_+Oa)` z^GSAI09*dp+J{3IJX?}Q^-qYOj;-ETlaS+bkc;Yu`s0)MLi2W_HN7`Lrc_JvmW?0! zvi7X#ADro~M*YwfCA{wwO1GC%OQq7Phn676K?;&3$jI;s8L^VW?u zuJ73Dq9k%T)ou$~PR1>~>bKfKPkYtR1)}tGWc`N)JaL(LJ*Sj}7GE2&!4x%&b;ezt^d~|{KNbnOHCk73AmOd^F0x9 zdUQ@WkA4F0yIf1p#~nWcjDgg{%L<7yw#uN%5FOcy`LdqiYqBEPB4sOK?0wI$OBSaF zxEABp_z8Gd(4g6_P4x2VR{-W|?u$QMD|OE2sSOTB>OB5xO3G5{wx?q+@q~`Xl4;MN z6k#Vpk9&1MVX;VE0pcNqXsxCmBw$M&fX*4jUkAQ-)cMr~iyB@CWqHMrBgaWn23`}^ zqhD0}i*%gn+%A2^HBIx5)@~&Hqr}So84;Li*tM2bnGj z{t%;Z*e3t5ZqQ7OlurEko#s856U*1s@RU&z{}B=8X~ALp_e9dBj!eHik@^;z2bh19H+DXl<*WM4cQrO zVJA79&@&s&Gz-E4Wx&kVg$eRPTdjpSz zx4Or+EN3nNPW7y1NO>7kjb9EJ#1{)K#25nWxvE`JWg?j->rZIHu}pIsW|*pTMwYXZ z5{{|a504GUhwEhBGchY7=OgRqAQdAZ{Bi(_CY0f2D3ghPW(h9g8| z?lW22bj{-^ZTmQUw~h6O@O;w+2dPh?H{+XZKHdLk*j+Lq{Xljf6#KA(vM8yEj0^aL z7(CyI>ZU5RBhf`{3dX~ZHiTuUZ|!ww0hn;!AFQr>jOlQ+W^|lIy_KH_ZYM;5w$=Cu z&GQ7dtc-Hg7-=f=2 z$Hi|qFN_q=)vAeUgKBE~!aaB>IHk1!*i8U{i--T=6&yVXw-^4Vgwbqu0kxzCeB{s? zlsi>M-~mG5x?|Pk4IW&}X!$M9%sOsfVvkct)HFAuSMIuEHRe9vczjM;j}Qd z@#BS}q5W@MJ3kvncaldGld(4=In*xtd^be`QM!&MY-oY6ev|8GWKrceZ_SnbRH2a!}a(Z)xDdoEzLagxz$X9cirig)QO)9P`Rj7wOBC6LqE@epa1(;!`+xyhWX z6MyAdLlL&-oaig;KV`reRND_1QGs#~o+cLrJO zX<4nYn62E+;uwoKSRFhihje+b9E$M^l{a_ORvy^QuSyg%vzSR$2k1WLMD46k;a=2F zLe`V+`?{MbS0&S`&VCop82?*zxHLw;vyKshifq*VqqPt9hKDhT-GO}Wmcww^9uN4= z(Dpa3;v2*wVnE9siS>AzCbXX^rKPG*5c5&c0;RplT)(%MtDnqfG>B)YH*LJTOD?tu zvm6UTz=YboMY`+LH0$E@XR7)s#KXzozV12UzHP6Di{cOl2jAF*b6dljppO=NMc%8D z6T#9&(&{LUOm z_K{#=#SYq|pa&*LUq^oWtd3{U-658(8qRXO;7}qWk!qoJf=HBXinvRklFocU`Rbp{ z^o^U(ZG9Qm8jGK1g*DXccN-5SVyEbug-t8{_U1vC6*GNctTEo_Ev`{qJO<(m-4Q*d^us{B| zG`REzR^7dzLG(A{#7F%`OF?3lLmWEha+$0d_+lBHFKxPMM|62)&=B`%9V_=4@x&X; z$0&jK0UXbK)gx${Wl?g;K5AvvJmx#zTgE-Op3Qd(D*kG@Ib{f&sqUX@Vam8GX&2a! zOfy2ieObbT$x+)u5&QB_ml((au`vKutpPKbW+Z}Wfo`xAT_FsTVPr?of7LuJ1zHe_ zM6A8_R#=IOPq*_nR_r;c$c}RPstivCRQ~9#8|QumV^Wkka~O? zvFS4v2FAhTV2^QoFCecPjyE`KUcL>o2wf{(PEKeQAa22C0guTj|Bw24EF>jJ`!FTME*MzBG4`Wm*w8>K&hR|OXO zU9T!In0(elp}%;W;#MTm<1(iU=NUdxo~o9Dbd~OK7R<}WifqxB*V%q8amo1iMAwdv zdBA%=;h%|p--%xDu|wb7%kcfVr{59=EcU>Cy;HTJ{s%tZ{Is6ExX>^Q*_oQiO)XAe zE`{oT1N&SUi3l#qqaX2z=j@iCz2tqRtT~|w;XGOa9GNP0?L`Qqg-3frvB zs(>U?Ic_n&s7<-dFc>CihRXc~G#@NHC&$v$vrCz+S{zgzxzr#3+#JTj^Tg(Tm2)~F ztLU5r_U&g$GWS;#xV4AL9l~6AwElNv*yVB3jE`{hIxqHxN6KiZ$kd~Qc8NngERIO! z;HG}A|6p9S)Sc?3vT8gvf#GFI!Gw~@MZk$SWvcg^84lH=g~fbl=rE7a7_k;*Loa{+|d?s@2-RV zL6hdSCdJ?gq%WQN)wJG(b_Av+;3izlsE#C|8u^Ca-*lkKk}zMx7{5J@2jFra`{kM9 ztDZk%Vf7agUY=9D<4Ic{y71(r}c0;W^@C zX9>gh%3dA;$6BlyP!W3Y_D*7(m4|PFu0(c@LeDb5JhO>PpdRK(VDqUoRUW5f zSRKN#9VYV^_gXxo4<{i%7GCt+2OGL(5}tDE>`aT!^Lx5EpKq>brs44W9mro$z886o zhCxWV7!T`poU{Hn37*dyzFc)z9^`xZD`-VCI>2Ywfkr9dQhH{**K& zbyEQQV!pWDcle0r<{g>5t;yTJZe0B=Zs{+pv8|;q0i!_fw>*^d1fz}nV@kHOR=hZX z#F8De9Vu9qy}9H!R;UsPy-Uezzn%(1FfJw78&dk~@E(E1#!=Ddaq+QFCC&U<4W03`u3*#_NwY#DxpL(@46bo(>kJFDybf22fgT`{yrqEBP z7D#~s9nR

dCoY9yo${od)Kj{rStNsM56AM?G&;xLkc&W?%nXb(I4 zNS*8|K?TL&e*q{3O?k{{q$g;dPpa9I+&}~!D_?$s-d=CCdq+OWZ=ARFqTN~AZ@XUu zn52)tGoJPp+0)EuT}1y%_9q_SNig>#*NbhdwP+09jGt}~`k0oNZ@=%R`ZA~9t8$$` zbm?Zee$7zu)Fk>gQ@5@5iUMF&vNR}_x?24GDyo`eeAGv$rn%o%zV!Xcg^a0C6OL;f zoG?twUCW!7s3^c~jVnefcr@ww21Uv^uVI6Bb~#T2DG& zb_-h}rmVUmnEs>4%y>Qq>qtnMU7bQ!c`K3W@SkeEP^NIa0$!7^`KaEsJG=YS$+8JeB*F+Q84hUkWf5V-LeNNaKqRe)8w*R4LSCu>d20!rE=}@!?{MJ>Xoeh(V;rqnwHAE=;Xh4e^XSNY&I}cQ@@T z9{!831hYj&%vBV8xVT1cKPok!yr_Sy!pwN#dC)hrVHf0!h1Pl{fM9!#Q50pNg<)P* z0@>rqQ9;jlCMU^pBzdXKR3DX{5`$Xp1dK8wUhF1sMC=;57F8V?;36=}wN(M4)>Og_ z^MP)K^*)AIXdHBmoB0rd1Jq7=3Ty(LJAKzxfn7ju1-!e`dp|6CX7$T&1!{3g5CaIV6ZnXs(Uqa2CH;i;>&_v#kBejf^ z?Ar5R(RMW_ii_mgB0#nG5{pXx-V%UaDV!=SfvCI}ppu8p7~#%4I23WbY}L@9T9_k~ zjuOs|MAp;cZG)x?y`;vFUSYa*j%NqcNt3#V>3iP>j@Qs}{}=GC8?5yMq3w0TU^XE# zbOl=Zv$ys+#E64nuW6zqgM#xCRe-AZL%ulS zDNvuKTtJ^wwLZ)`(_bRnmsp{P`>z!ma*h6`F*lzcIpZg}-D^h^SE1W)WSoPnVJpiw zxR)$c{_r(fj~~jF^5E8q=nQxcvs=;C$gluy`z5RlX()H1oxKiR^sRw-Jb7kSu6MYYPfhMXXQuuua9_m+NO#D z*5&@0dcc!2btiE7{AZDP-$BJ!|9<%t#L@S0hl7l{irNEQ#;+R>4)b;u{s`NE|2^VT z1?;1*@dnB(>~(-�L*x-@uHw;6aLp0Q_CX{JuGO(yI1KONDS&KKCL23ukdH2`)%g zY(0j~QJD3hyS@54Z0A1(m6Oqd33ZfcbV@`W@@X;hGqkU_nYZRM+d4rg{<#DSPk>Lh zGaE6+D=k8FSa)3Hl##D#E`-0(tsGe_ma1fzvF$&+Kbyke*nT2*EzxL8fafh!e*l6v zM~p#Vt{2qwC81YS)%?B7HFEhI&R8w;c8t-bPKYVL69?==)h6}@_O8yB)xW&Qn}{a5 zXZshu9VM(9qHRRa`A|P2pJTK$x`n63lq=!u*PG^QXWA&tZfHygHJO`es`D9|HPM(C z?(ajn?;>?h0z=v1z#k}K_LE#i_dLa1yA@@Mhk7Dgt=a!OHW=eXhcA&Qp6?4T0ESK_ zMqU($-Qu)Rnz$J$D#7VKwccOyLK>~Q#*@5jO_{Y^Dnnv|Xkv#t&I8?La~-{KKgK6wdQHb z;^?LKtRrc_au2665=7eo92kl_SiMe_k}fe#ghQVpx1=|8Q8zJ%1cxMwvTVFQqgx+? z>}JuX4AK3ejc^re>5qFbgsf|32Ps3&(Sp5icv)$|RXpET^>{hNY@j$8m8N|wH?geH zSeJZ!AEkL?`83mlCc*DU$rOCgJMS|7*#_=>+f@>LyHTX?K`Fzc5`HyvC)GPDRx`7* zwwru}b|wy;axX1{H|w*AXSCJ?y-`@z~iDQs|2iZ=$*_X8!Tb{qBh$=EI5}{WS5(~Jvi6IJKVp_ctkj_;u8;Db4 z>uac0)DvWVtf~Jw&jU}GxmacTAPM;l !$9M`MW0cOY{SrkdHO)BKgHmBEkCEl} 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∋k#;xw2 z&8)!Z%pFyE9fvt30t!0liH@I7Kx&nM'rLt4xzJPhgVq{vkHGbm+I98ltA7V-f9H}H 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

l91 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

6HI11$@TZ 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%0DyPWrZ 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∈1_It;6x!(I9l?^G z?H+(a@U=fRu$}T$oycrOh`khdq({MSW8aAW=#AJaSb{ePDVM-@XN0uPGB$AdOl>n-@P<@n+@Fqjbq~6={?*M`v%bfS^efN(N)MW$MGGc@Bi_Sj23G zOGB*HwtTldPqD}J?)69hfV`OsNm>Dy+QFV*PqC7O>m8d{v7?#^qnmG><3F$71FmY03EtP388KZk{#15b zk2x&(y9V3Fpn`;}#(Gg&iYzXKZ;I{{@)hA*2dHVpOPG!M3?E{|Jl?N^n8nzZeBiol zhR#gu{*xqsw)%vF{^s#|=vdPyL-f^RUDDKx&0XTgJtErm>UYV|+4qNHk1bqH9ZTgL z_CHg$vfI&lz|L^~1aC1~vMRLdnu?&Yo@oAsDjqFp2Tfv~^P&A*#T%w1-Z=i<{OT00 zFDxvF8fVF7>2uMP@vY!IE)imX9rS9Ce+mVtci)Pxvrt7^;3oABFRRr|>kkj};OT^%ZKG83#v!L^=5qO?;(hT2E0$>V1m~|`pagwAlP2UPgE9ZclmBU#c;zTi_n{x|8uc*2VpGW5 z6D`r^oweuCy_ibwGkLjzO8c!XD38?oXIIbR$XftlpPO5Vn_iCnCnK2MJ+zBw=-6Ol z8Yd{0arFRvf^(JIO{0$M;sJi}$xoXtWzO>`7vDFFMeHM0|J{-DG5m5H{k}`P0y=&{ z5rSi zgP6B~5Wd65Pzv}!O2hO8X%Zhxbu{)sT3|HM_pH@)*xgCd^`rnyl^ubilIX~(=W=zQ z*-5s9KOT#^VPiOYjE~51fk63ER*@3r0q{X2BhAfu`d&Qu3OOpgkKPh3pw{o_8+PIzPw$hyoB)X;+OH#a7Q{^Fyr$UPC+8dq-Ug=so0 zH=tv0xIC1#i(ir?>!F)~suMl$6S2|hx-H9rzE7GZ;!U3yv$9nn!Rk^0d3}Mw`t#LC zI_sEV8}i+UDp@hIG#*%>Nb$qIGuz<1u`l^?$$s>hB>I|PH%kC~y`t;QEC0K{R!>AA zxq^G`Zt~~<%-5g7Bz7tVmb9guGB+-?_-;Yq2GGriY7H!AoD9gDu9R?1-^d)|UyEXzrB}9|FDh zM8heL5cL_QJQ!CKZ{Mf9phjY>0sl_OXC0n)BGZ`96nh!k(V!Qsfc(9Gm2q4!PB-mz z6@MJ&&BKnBDs^L#8E#jia|St&?8$v~kXGs=l3OT03H(QSdu#Q-)PD-F^r8x{y8?M| zsTwnnvDR2W0*%43`FdJ1Y|?N~$U>y3qirB`bd3UC^WSXwvm&IxYy8mpk=^S8*xumb zbm#`Xy z&ooq)d(m6(TueGe2E<+EI9tShs!0E|o|$btXfy_fn1is$w5#zb@v?d-0s)4+tS0Ud zlxq}?r=M}Ly?;xx#QFesi9JTV!#dL9amCKCqnp7 z-?mh4ni#dv-n+UjZjN$gDyzRX_bf9eNw=wqM6s1z$4Zwx1a8q+)A2Q=R{eptNJ9*B z`g+2bf;rOm~HH)5wq6TCR_mnf|TOkd2Wd$w2Eh;{VZH`?GOvLx5#YaWCA)_Ae$tb_AHST=!)^awSEjMfHMcco;?9g8*9gyfx!$bsCQBKy zd+8sP7V1%&3tkzie}@e)^(**?PylcOE(}6P>mW)@+*~Ay4-oD{>xmKGURzsZqfby6 zi8}3dz4tgtV27Wq=(}JxYc(r8mDAeBaw>*y2q{~c9_GSDk{>m>Ayuy%b(T&3tcdBL zCdUTH=iryXXEtNAg=~+N??@-6R}hxV7QxZ8bz?C+ zX3#XHu79&HySdCDPDtqrP@7Itzf)fa9p!!0f0(5jHb;k%j@Jz9Fz(^>D1Xfl5oz3t zB5Dx9wdJ22F=Bph`R)MDEEVVtr2W{^n>a05R@tF_ee=tg5nTZG_kP}MQ-)%?sIM=0 zSlv0#o0bl^?N(A*r9~;#`?TA!WyqFDSnR`|kksjs#qw=vEB%3q)M;E`tGiJ~UarJ$ z8q1{K>m7zoHRNtbbSh+>NisuD>dk3OVP4`fvd^*hy2NPtg;s6@=M4W z3!8|ipv5iz(?47lN#nlUMOs_=p%_LU|KCzl62`W8m7rUy4u40Ihvjq1uw6XZrruRx zrVLtU*#ck+0P*2Fp7FYCUf@RSWXlK&G*x3L&q478*(e_McTb7(N6&_-W>SZUX?>v% zcC|H;Y8q2m8@O)+v>6N2!tJPclzux*o21}Wn@=u%^u6b1AUy zuk5Lyo{EBfAJFV#wE@N>bq=#$;}5mPRDuif%B=O&EAiD{ZG;9i0oHt^CPhbY*PReZ zX6njn&_9kngD4W_1D9d{Qd;wLLMQaMIeL5~Q=%TXtV)7(Q@cj{#t)0+ZR^2<{P6dI zj2tcT=0dT{RWz4Pbd&&Fi)o4IKgaC(hO)o);0=v|e0in%1!bO>O1^1~^Fi*~#F?+X zM^UdPKB9SRU;B_vH;`imi(V+XS}g=hCy@=F*qOvfXx+v5CeTnicZdAKn(RHP)}qBplI8x7M0j^nVm8Q=z;@!HHX^$a-BFz(!GPZQOEt&|rHGa`DOYvGj> zoP4<->)vS!VV;rp&LPnoeLH_h8!jdPu^@)qC!c##~3ciQ}wy{f&B3SW9@Vt}VNTtX^JJ z6pVDTdnwO7imR210P&f}6;mn8$4$c{b3j#C_4~tUR(&U?z-R5AR=3Dcz5DAOWG82Q zK-b{-_Sa=Wx@2^IH>J*CkwR_&tO9CPVW{C``2r-U7@CP>g}(sks3tMZ9ppgpVT`A^ zVMh#TBmytMJKA)2ndII>mGQV*8gD<%yG*uXhk`RYE!SE}iv3mi{eEnvShv7fzjQAA z)~=8A?%h{GAdpwR`2%*KEO>#^f=Cv{^81-d0+E>umW&o}(vw0VXO(r%gP_vJiA4Qn zVYra$i!2&%vWdwTe`M-ROL?gn?`#ub4twQM7xKc2dubMeJL|ETc+suP7$(lz_}TO< zwjzUOw&;(U=&5@DqwG)7^B!cWeC9hLpXZcXDkK)@wLCsj!;JI<4N&LF_aH2US;qa47tc z=v5b8$%p=H;C-a?2$5J%ag~{M7yMr3kjl$r0+y|mR7K2yBq(YL<(cQ&HjXMy&_Ni~ zf2Dq*kNlJUZ_k4!n^nMtc~pnGrQ20YgW!F?Q#zQ0UKT-mwuy5G83-WlV?37La_k(g zis#nREx$u+^;v0_&;B2K@BRoy|NsBzxRtazO2sO5>AXdy!ValirEKY-qg5)Ex^z%j zyE_hv3aeCfvZSJmS}t|zzz!+vlB^=DlOcy)miBy@-JO}wy#9&r`a?v?7T96VMP3ltBtd%#`7VDsB}cYGvw){J4XQIvXnGL?k@2g(P2-{dgLLy3J~*ql znEskaanYDW?tMIb9EV+OUULbLzsww(j3lgoqH!j_=H+*jFW0rk;p32P%T(uI0TZR( zq7r;&1vJSJxEloevi0J>$?_ij&#jadF4^2M?C|&MnWs5_RlnRyoP1}{(&0of&FQPg;rFdjxwDIM7pP5E`(}87#K@gut+|Qb;8+TIz zKsRaS26V2e@{b#0RD(>h|23msa%0vs1n4IFef#}{+@9}p(06CF}m{gG|&!*f82+=gFR z$PV0i&V6h;m#Urfnn9ryYXci1U-I}pym2kx8#o2{{0;Rd^LYuK{{XjIBwy|_KE&1R z!s;)+wpJERLfkYXGbNLj6hdORAyPR1Gf!l$nl^swP+D_vF>|HPhfcf$%PEcus1=^j z?p@Ac{ik-++IwY_%EUsAH45EYXpkFdC+W?-Z?6nuT|X!+2+wp9n;4C9d)fL4qC)?1PiwsUUK1bho)6lx&$XC$cSia|%i>GT z3zER_tIF}{q}=A%B$g!JZLz@{J#OFUh1&UWy`++K)~bOSZH(_E6qvxbvEnG#qMqm4 zCtY|t6l*h-mcm)Ds9Ks|5$?OYUj4@___11Y_pjHSIZ}x~Y5cT52tdv7s$gF1dt>=n zByQdIHbDw_9~;~0P7v0u@UF|s3mVZnG`<^n$C^nzjUV^pLsNAJe13v!e1MC}(MEh5 zkj0c#-2EN^^|*%W;m<5m65IQ7>Jn4=%jdmN=r7Zr!2o2;0t z>lif&t@=H;{)e%hoL;pQ`#EJ3U7k(dKO4M^KqgYZq?x?Q0XhhjUouWq-Q6%;JjrM! zZY79*8Z@EroV}v>W;W$vWJ8oC9x76|R0z7O_O-T6z*Y{Cf5^+o5vPxVm zKCg#+?P!m`C+z&IJm9G|~4$-dLINM45id@M5FYt#mF4Np2ODQ2*id z_G}|Qi7sO#4$!YpS2Jk$S1>M_)k7Obwl|y`g!|-H`=#y3S#<+{SzndkDA2Cy2SKY*h|oZVoKuEIovKf_Ei+Ywd>uF>-bdV`BfzI!**e zlM$C}l|lCLzAAPgc4VxyzMH}i7adr`yNHxLrz3*UY~Bz0wg;vJ_9OW@b`f%GjC!Q$ zI953dcnCbV#XlBuPr8Dyz=6}d`!hl-t8L8H_C~uR#tQXufBf9Ls4MAOOR3j5lQfaV z)t-0_AFCDB;xmZh*%a$B{#QVmXZ-Iq8D|$z3y}4pYUuXd;$>cW?ZqW+zWi0r#neDUB||^ zU|vwG`B2C9h7$ahCHfioR?8Xx%VJoZ#5$$Rk(dWo$(IITGenGWEv97Dn8=KL22X2; zYk5=eK^EAGP$S!~=9HyrRRnFmdc|>y2g3n-JQ>F)AdBVjLV#t`JN5wh9iw6^sSOUc&olZ#>R_jQTzVRFwt1`TaZB z9Kaj#SS!=*d2!f$2|iXH`-Cw?e{O4Zd?Cz;6THaMlZl2U=k*q*q{37$pkqeb43RQV9Y>j3<7I{JK z{QHwz^ga4=#vc-%`uuz_S#$PS97i1kZvRI1hf>b0p_nHE#dvCZN^eE6+72<7hb1A; z+RRDHhz{5WD?0odTml2q;#8!N-J~t9@i+F!ui7D_Hnwuf1R{uREwQ-KhPD^KI8(p$ z|Du*>pj!XmmGb@%39}tHZ<}YeoM)}Mf5c}pGlh2I$h~owF+shRR<~{9$HV5f0BUdA zNMw!R>0y@E8^w?2e=sng>g8`XG!z?&jZHCi6))H0uLQKim^esjyh)yzTb;H~?jnvAoBdczYf@?zs6($ZB8K*khLvYW#0tJ~exmKIqbn zwKeHYsn5uRRg_|<$&XET=iOgYBn;t^fAh?MgfG;eTDgh$Wh0_)m9hGXO%WwKBKd?5 z)fU<~whZ%zk|cCUS)X_XBg{ zTv`ta?w(r_kJgT4$hko*Kw4vAT6C_T(kIfE=z^}I4(@B7&7wy%ri|0v?q+|xW#nT( zYV}41ZDVooL{SlYZMU}QToG7ukTJO&zrI6qF42$X97CJWZ4~V@<1AV)@;7{;mDdsn z+h}@5>vku@TD1K;8Gv)y7Gsg zF<8sq+Zh?ot21gk8TN)1x2SPAKr5{tuE^gLj68rOoFa_Tt>5z)7j0lgFSq~f9VWRd z*qCrxH&3HpH<)T(W5u3p0FWR!DL;z|V&NGv*d!?>VjLQCuOs$29%BLR;xH1Eu0z)` zVPfHs1K*TNd?*W<(77_NV}*(w!937FTmM+SI)xT&N|k><-)1~PAiGm6Cn=((3+d&; z4MY^*CA}6}pElW#`R9g5_+;-zmweoyp19#-z}oyU1?l{cp3|dV)M3ADt!mUny|27$ zOjnw5)L@|yC3);<4&2t7pU4r)g~mS=;A!xW@>rpTan|D$U0D8G!POmb&_t;y^LO#0 zJfO_03!pz98B>BYUammyV>~P||2tW=xN~uL=y9Kqq7aprF;Ge`sL4PB;&(PY&wT~` z`cGf<_S5?3uvV3a-A=-e)(8^WK?%>s8d5(8jZK*MQ>t}Cy$wJ9-e%1A7euL1T$Nufgf1jm{!u?ytIxw`-{)%A@*tw4NefZc-wRFT_;KCLW1`+|A4nN;_f%Xh zYnRP1v}M^(iMd&2C4H4lo4^>f60I8G9a4aS@NlbvBB3#aKqLV#JuR`l&V&3^Yz%U}=aSui#*PHkcewPuC7fn* ze{n)5zBfB7CDhGp0^^=h0k0$}yjWP23`L zKVxU|u=HbWw8eM(vnOMJU&Oo*kUx`qQ|9Zw+hTlA^W2Bx8@h?w$de`0#-19Ftz2>j z_}Rjc-nX?eoO@@;#y|^><2FH$UcI_EtqsdtnZ!!OrlfS8Fi>taG6ogwG%NFyZuiyF z`DvUjDa=Il^kdp+i-7obSWb6>C|$qRVGxP3RT73(G?$VmsDU$xV?t?*3{Pw7NYfrX&r9wnaj(;bA8aeR$=KK%+`tX zH9Dr;uWK#my@s9we*z{KhcXis`-a+*h&3QdwyIaV_0MBuYhF-7CdTuF9@&SkcxAl61U4zn zXZsmHc>DUi2L^4}naJKwzEf{1>faFAXV)TWjl50H8^R?D>Xhs>o4yYtcKyY~E^Kdu zI5fzK@e#^VmWDT+8WCxv3dVSU{A7cbHAQ%LkgmXq1EQ|m8n_yKqz!edE$xsz$`eyf_+Ju z5vwPAEUA?SFjH7Wtq?PcOj-H!pYzfhr*11TwyyCN%NUV z9o_pG45b;}dOu`@G7cQ*(WmQY<9%e%IIkDikcrJ2h!u4>no)pY3=E9|mv>eDGPwZ+ zt?QBKJCS&a=4gYQa2VTn0G30X`MnE=sd?_7K87}N-5O-vCWg+tzu2E<(UD+_5L5SJ z?GxoLBs7avpsxJ3@CK;9*_1O@6_5N1ZrJvpiMG zt)T!`C!SscMT4!fUPChOY#!Ea(AN{^75Mup2JuE-tQFJvrD_xK#{DM{Wr+TbZQ=uz zo8Yj1Q$b*-h}3Qx7QLn|ROxpNI<`&t*rUvt!2M-jR7bT+Sa~N49#GIT$EYV=W9Z8? zXJboE31sZkT1o+{*oPAFlkxq&s{UjlZ0cN^pJu#IIv_fhXiluDxHrf_k)kG`DYC_@ zxA=MNAiu!3GKpV%x*^3;fJ8bRn6>x-T~|Y&6D9cxt{Qb9C#9XO)}=4sd6O zGO2C~h#@nxS$v)Up1-lF9i+F6_h@W8>NpF#pufua&tNE1>D1gcOUAPChg*?7b%Mp+ zOTTGL@I0thB0I}2B(+k89?!N_oxRMg z`M!5BV)gcTt@)w(c&d3I{)y}iZ7FX%&LfSvx;gs@c1z`L2U@e@0Y zhtbxa5=}@wW22UbM_R(^a=C+i(XK}N>L-E~Dfny~=x8;2(Rmu*U$ok=#}4Ic1y;ZH zV`dDzXI+M6dS9OsPTt2s=nxwGP#=IX#81rZE;rmlm1c^q+=>Mv%!|H$xbS}xa&jaa zThSMKg(*b#f+FTqH-mqQ_K|Pyb0%(MU|(Y9yJ!gO*XOz>>+lV&6M`29JxW{lS^wQ1 zKAK$rY9}(&jY0HOj+pi8;K3AGLZ!?dhx79&S*&9nZp*M~GVGi4&V2TXLf$_dyYb4q zQ7hle^a3(n~XYk0qLN##kvC`4D}0Gw7oI@H1E+N{Sa5 zYgdh*xKhhr^Alcew0Yhv^g}Fvy>NDWXq=KUJs@rOWh_iw=(uQZ=;S$SeSAtF2jrY}#n?TP_Mp@`ndSl?jwaLh#>eW`z zM%#|>OJQ5}Rdc~at);W^z|8y|T^~CZfQ0aPv*SUZ3FdpohMqFhUF8O&yW_%+?}PG% zQlLz~`08NX+H6J^D#T_c5kBmjV{~r4Bkoe_3eEc|eNJayv?DznqhecsP?kB9(AGFw zBRRe@r-RX%p4C)UUAbUKV?tlAydb*5<&LsXl8{N=U$XepPipTtN zTs)-wj~~*ZufzZ8EMT-IGLI%=e+*Q)IBeT3A6> z`1ttN6$^Me_n*+0jf1Ih)$X;l3fxvFK9s7BG&}1o)$`>YO_XWy$8f;CRdS-C)So*> zQ!&Bj%v=MThzC|+Yow7K*IjmtJU&7j`sAlU>eM_&XJ7_MLJZ~PM`1=37RxC7(I1^ke6W#KI^wLe?9;kE_gdr_f&@< z2f}G^^%se6jo2_aUfDlcnOd6JqMwPlJF7hBLl+d>zQ*W-oI|bhzO~?OSDNGeMzSQ^ z%UTSOpz6uwhi29W*4zNL|J3%-SpV6vMd(PAww-_SxxFpjZ5rJ>58pw!V zOYy_bW^tku46?EBxYzTv{D+i2_r&~xr~@J|1=nooCF<;v?a*6JxKEZwApxSW7KhSm zHWsFrh#~W?hWD20w7A0=*8e(s4e`E4?-b1Od>38F^%>b2R>s#DZDreL5nd>#p|;*c z)~CHl|Di&xf3yi)bdCDaR1Ysp7CeY-OuMeKK&MV>q8es=;-6R-MfaDvk8)ZtYU z81xlR)s9>AQivrY@vA&If8($#?Ye)MPEov+QbJ;v=No=MY5<)WJ`dnYy$3%|FrRMM z?|Hf->=Uv7-CwzXr0C=`>?>BH`X}lpCsuTVPWBv%&d%+Yl)j*WS$ckO8@8aq@fftI zj(q)+mZ=11#%a#R`E)F#=!K6phV_mq+_g}?gp zqRD%RG7PQUCuKT2P>z7TrS@ow(bv1r>z)I7UjSvFKZO=9U#0 z#WJ~Hw10s2JJF?U+D{6(jnZMr6i3Vv0W2;7I;DF&b4SO-!E>a=8}Vi$2Q^Oh^xhUd z-K9>Rtl#)}P;1TnaE=Y=LL&^cG~lW8V-q+z5B^_9Z1U%*A8K6TUcs19pIgp|yxbJ1 ztL)Jpf6MfCvPFs4cLbEuwy~cqBCmQNIJhze&$NG=!XXx+D}Ra(zDV??TUescqdR$= z*N`;~y)zAWQ|yKqpMZijlQzshNFUB7#5xp4*cF4 zZD)FUvF2>eoh--u*C;uM1fBUAXx;)Mm~ySjts%feLyAZDs#A_rZ4k0lZ&DV0<1bXm zzSygtMs5;)rds9n5o!JMbhS>F=r;eL-7cS3D9p(Zk&K-H=!;qdg`Z$p10BzuZ*iIQ@Dw zOcr4}jabRbA~G}7Y+yy88Gjy%4rQ2=ERlF;O?}a z{G>xB$kWWRx;K$Dr{Sn?lpDp*MMv|<9Z?}*5#TF@HmM6EXtQ()MY0@g)Hg<8d(Uyl zY$#o4xKND6HKi@DM~*7MMFVZhgTIUW_i70yc5cv3XwMk-MdZygQE!qjaeKID6@vGA zV8MnOHxrPdV3hM3U9{~!yvR(w#GE13-&#r;kCk`(I2lRFtkdmyBGA0xCrFlhg(O24 zI$?Liq!d=E>;37nB<5<2ws8+R$(-8%99pd)*`QWEz_G8?Bd@XRM!#+UFq}1B#;Wo# zuLAObm+u4GeO=4Ql%WZKxiUWS3Xl4ZGO<5Hz8N{aTV39|1e%8pVJ5HT(%6cNC~j$V zLXM}YeOjJo<<1?U_DA2KM#I5k(kaRd+KO4gdQ>ZpZsl5_300!k_@N(M^g+|@XL{vD z^A0JQECrPxyc)TN3@m`>K;1iJY6UlAJ3~A93t#Y_O>KftC?syGM^bt?&0U=;g~#Zq zX56kXU`g~WN;bcd!(H|RH_>0`189lLpsqAdN;Xh`u_-X|2S<-=T*oFM`_lE~$UY%& z8)(Ch7wljkV+RuU^@AGtTR8NwTRt;^4Nn}7^tVGt=pHV(Of%xuxuX8?wtZHTo>p|5W#)=((i^@(kS>21g zWZtdYK0hR%Tc(q+3YCVjSjpX+s?(7(F z;jg*F;9E{dMK_`?1_)OK7+t7M;3UcKhr6tYdh~?W`t+a~B=sJqU~Ca{l#|##e4*rz3vR@B--7n-oDKXSKUVUWc9B z#@&Fw)m}kMW8QAcPqVx9K5nKu@Pd9Xj4C$v*K6%i+JKsuP2U8@zQyvJ-6I4Jt+Tq6 z8F3bb3%6>cs9BPg!g3#mkmpzkp%V@UxO%j|UOKQ7Y|A0N53IZYB#$+;v6*hV`8oyLapl{?x!j}R*vZYwvvyP7l{sf!&z zl-B*iUMJLZH;}BK3;w~r4(u-zRi742LvxeR(Zf1v+$*%U{cnxwUBITwi^ zH$(?D^p?B0>w;3)P3m#~+(3$r=&)$j-4tFoD?pcf$mf(53N%utKNh(kq`h@QZBH}? zb~xH9iGuYg98mjaDWV$;_;`$|tL#I*+jo@O4F$|*Lw3fUabayS0z&OF=)H%g9TQ}HYLb(QyySUzFVHxz=yYXxPs^vIz5P-58W0@ZB^w-DSL$GI&KSzyI-fhoA*xx1~@&7Tv# z33oSh8;iT~yJ!r0{3;9`t{zXYA&f<7q)f1q*_IU3OppBQLo>%}@QY^)HW$TTPYdT$N1p8gX6U3{h%DvgN5B2qJ zecBB2IWz^675J$<{|;;xO7gI!I(0W@XHL-++i0(s=???z`U2;)p$~TBlk;Q8fY#{F zxgw#zIVv1-?Q^eV1Q_S$Q9o*b$wlep94MQ!XRzNV4o4anEo^)nwClgF(@I zF3Vq~`1G0;=I;8-68<0_-?i2ftHrw7x_tis73cqFJ6?mG-^w`^=EC3JPQ^zS^d6q6 z#p54C{2A=pMW1DD>l$Qd7xzkjhBXAD@i86Zs~6nS`UlR3@A>2(-ajXf!bYV7dtpg= z8?0X(<|;;_mV#RzsBeY~F8RY=AI>^aJ=s0mAE~{wjHdnv*=M#%)t~=_t4?S+XEL*fTt%KfP(PX^Pp?79DJJ^Fi&v zC*=ZXDakzNgCF+?7+0HUvd=5<`J%m(YY1AR99|+L)_!0HFs;r(*v+}3-K5tK zmdU;ZIyW!_egmrdS)b1|BUYerq-dflP4$n^nAu(BKxXLNv86lWC^g~ljC}=kRsG$& znHh9utMs#Cl0m|dK^>-!=J5oWvOQGshyWE0mG4&Y4o z53_gfa8$1d!QWYOT?+Ej2A9{q~>p*gLWV$NaJA>U?q`n8dl8Z(gteo^Ena z?c#agF-|9>3u>`feV_chi+Qp!!4^%I1;yV;Vt92^kB>Db30?q$=HddrkHpk#DnGEP zbz#5nwxb0=Yn$ICEB4X`)~#|%OW-5nm;HK5f8DDNS;Wb73**V3r}0BjBCfm7i9R69 zgYRndx-UXPZRAg)g-+6Z>&ASCKc3xtk9E+?m|M>&mT&jVUmNzmoT_gP+|V4Gfu1G8 z>nYXEXAj6H%sBRr$@+TQW3!Uh&I=c?_i$4(5>6(r`la^=ZGo8urt-zmr8BY zQl3SUn0pd=?`nSYW|i-rtkJ*AgZ{nKk?ZKGi0Jf+AJ5KGxezYjj3k|xF7W#h&b2}r z9vRG5ckNY|8CS5mFC!jIw)Xk(rOWqA6WKK0Yx6vc^6h*HT^t3Df)@4QN$jZv(5IVM z$PUi*4z87#-@md}+vdkn{Wbt2CTkV#!$ykHWNF;XCAEeX`W2#EnAD}bF=jV6-3+ZW zCwd%~FL@qX+%Fo1d<~&UR^8U6Z4>A9dQOcA*i&x{!Q(8Op9(ybiX*rXpl{zSnn zaPwnrKP{iwaDfNl5Kb+Sv}|y3LFka1FLs3>{&&t~Z3Sy^yx_)BGu9- z?)K;467`18eHu|4wwl+OY^KYvIyOzw|$ z0Bw9T7e9++jmL=TB+U=1*L%`z+0WB^xGk>WApUU>eq_#2a5QNu%g(f=U_vXM=9+JV zS`38T@PJ2|PiBpZxpO^#)g{n%8+zUr|J3S)FgEsmPWs~dRh4Sc)~^Hm)Awr^_&Lz{OIGjX0yn`_cPEG7rZA}!i~w}E>J*i zv|>(?tY-iIL3IHnPWZO{HB{=Uax0KO?50mKY&-XumE{f>7yDXbt3R_Hws1-B7%2u1 z16#zJJ9ITheEnXX=*@I&;!sp4Fkb^rP+Oc|+4SF%r9fn#c=B`ZAk_kY0OXnbl^fNA z-T9d@I*3IPxEIwsn-<#ugXN?4WX7%Nh~B#OkN;-j-Qq-j$Zj$?!3>6U@)rZ} zo1V7VLD;6Ie0ggYiI6>&pLZ_<8`@9u>BZnSqAi(FpJjCM%!|K<3dI8B;%z)Yv zj_D(@jI3nH^m9C?KU`DB!4^dr6CxU{%CW0Ajr<4u?#t7S>ulmP;u=4A8GS#64a$3k zdXL~iF140Y3wKa&V2qlr%%5|N?D!({@l}Hy=DDXbeLNo%TB+u9Z#JbwKhs!o5Mnn6 zA)!q;Ho{m4zWN%@wrfb41(e2mm=%LL8I0<mMQ#%CB3(}D<{i&wm{eb4J&p<{4_^I!M?zfCtH^x;eFMJwmqZx(gFz`@ z&l1!cBcp!eX}kE)TFf4;^ji2xva=y>`7f_==}C2xbllnQ0F3StyD=8xK5s2fuUb$O z!jO{s_ISBjlB0eBmBq#7UEr2Qgj!_}rqQtFWw zB((+#K|ZD6r$l$;oM&3oZD4x@I*&Z9yE=uviGAc%yFS5CX1=W4(xDz`=G&>-92i-X z=k`UD(HAb~v8%U#gAGNFc74%XDGQ6W+PSJz!R6$LGX20NNvvQ8^F&E)S1mxs;-2k* zI_n4#Ppm(<#XTlYO3vo0K5XkZSV2G?YT1nkH;l--|zTMNdr;AHh876{Bpp8t# zy!bQnn`aaEXsb|9AC66AZEfUDQwh3c>fe9GK!>lj=s%7%ui5}yaX-Kp(ucUO;~!!5 zvQWMjr}j{~hK$cP${R`EBjuxz7~jw&V|M?32o%eV&&%ai2`|V&o#!$DT_ZPmg2U4~ z(8Id+&_JYX{(opa%VHpQDQg}2PibCsmU-?w#}wn~chORQxDWfCxh#(_GLIh+y>Bx* z$f{lk4}$Bk4XN5^Gdj-|@TKqrWa%Fzj5ZFrkEGk~KwbQV zatH{3Mz(UBusPxxT6#GYu$6kTznBAyI-?K1CL*_she_|W(}U9?Ud-F^+$Ly~!H(?x zMfl8t5#b|$f4@aE4!iqIj5MF^i>_xd>hXVf%TQxJwzp3h4(uqA{5cCa)G4(2b^JLm zPjou8#C#OHkQw)D9A;&Vc2vY>E!Nui$^5X2{6s9>mFFF@HQ$3bw_ENSH$Yy-xEIlM z_lnlrNqgRqP@bOzB_m7YVB*;PdrecC))q0RM}BD(e%zoD?R_HHet$kWoK9Q;^xDHR z`JLawoTRQ!{Al_f$}?DGu9dF!9eP!WUSams(n1o_l|!qF(L`4EZKHgUm(dL$#Xio& z>dNlxsEfr5_)jPvKw+wx@iy!)?|zUm3nQ?uyJm$|CHnH-;x|azOIKVW2P|vC%m?et z*D%sEx(z;A;%?>J-iUt-0RO9i9T(oD$Iv}!pH?;p9;#oU@P22NY+TnY9j9^&x=DKi z|3z8BK}X{Q#q{aau`0K0#pUzZj@K859rIbRzAn_3v%E;Kq8xre zDD`eH1-QzK7g5(_Y(*=#?Kr3@TL(S#9NuUBFf^Ui3IyWI(Nk5a&*&s%g7l4l&CM37 z9=24znQ6{Oa@*xm8YtZI+}QZGWT08RiBSd}WdE5Zj{tpt(+B9_I>FmuEu#e9 zU&mlK7(Jmgv?A=WxyLx&W8=!LRW}?^4h`AI~LH#_BodM z11Aff?|njhhaK|goZgC$$4O?BjlrpHN{a$o-X2>4uW4^GiO1^ zyJq{2TxFNYwtaR<#)6TJrfkg`hAYiW%uLi7huPEBSgwJ5EBw#YRpu->I8Y{dytYz?m(JuoM{3PSR#9cZXzFf0u}$SQ+V1IY2gSm+&{VaaGP*? z31fdPg+h%<+0|S;oW}#6^0L`;v!OF0j%P`3IPhzeq;$M-=j^c2NCT_e?N?@y;jR>R zXIH|8ww%vVX9@*F7Y$yr_tV>n)ya~t^p!`j}WY0vlZYG|T6Lgaz zS%)uH7vjmPYiQ_(#_vPvhQk5)f?vWspyNZR!`6U$jzs(t7z&(FUUm(yjXSqn^p5io z?Nc}MN;eE%MaG)$f0iA3X1-z^zECRmYAh~F7I`2_6!R)ML{ckZvYnU5HV*-!I^uzb7x?%~m}M2V3#COqU_<6iwA(8+3~4 zyls4ZgE|lL!#7TDmkpw4Z_QZWrUT&~ePiI!H1V280iww$-v95m+5zf@VFTB|5f?`es1u~92yHsebm z=pwoaX*ACts5&ROP4z>-!D_UoDcRWwy~13mTDwtsAk zzLB|4CrR>sxpytJp7rn|@K+WyX_ZY)Xmem7a8#2^NF{-L{$wX|MiP*sidoeL@ikRz zX+AQi&^)^F>NIXIvSgTF$8onZe438vDl?R4?u&$h_xaYk!xrH0k9Vs){@Pt`0rooS z*3}e2VUiS6#Lf9=D{Tf5K|1=LyOuhh}Tj){n8K$%>~tjI$f zzJgb@s4~W9aXVuk;3xOt+L^DSb#FP_8_7xd!j0GPH0@}V2zbq@cV+O99T}lzpMcr# zP3ylt2j-GcTWrg4Za9=OONAZ-+cXk_nU@*m zdC~R8u`1a@gXc858>$(0Tyq*Y}`y$-roKv^+d@AS*gZOBtPv;xRe zdgPM1X0=Xup;*6<@4ySJzJ@iMxJDCQ8d)1>D=Q*utDa%!uX1Mbe?RA(O^dTqpKFAi zwjP0M&@t%88M>ShW8OhfS)!_b9&p&r=Tqu>R_)nl*2?kUTY z(cg_=Ay^J<%}}uR)H1Buy&}-Kv4H|SLB9lU0xBP6fy$b13{7!4r9ZNr+tzis=B?6y zBsAZ#7W4PvDy&2SsnuKRC?U;`viRMim)^$&3=5NPAXrVMZRFQs z!*HxAgg7F=H>jTs%vDF7b|L*DHK#p-c-m#{@WRfV2`yHOcQt`L{Sg06D$o~;W3UX} zMn^ExM`~${4@^QN>B2{iX(bDFQAto9ihJ}^sEi?_JX?+-VY1Sx1^l_cDnCv#vg@k< z`bxI!4K1N|y5TR^vWhkcKG{oibh|DZ2Y8^tU#@pTzwM5``w!$i40O)05q)@TT6t|K z7q16#U=S|^Ze>fHhCkkodc^&>*x;t>CkB@{V$Qm#_TDex4n$)ihA|#aH=4xohnLgp z;OPfo05=ELz~aB@i;w;dbtvTGlIUsM&X`pr#28N7_0JCWnfOO4w_R% zaUJA)XW^I8=f|U~Hka(J11u6UwEqn|E*qagrR%}b(-m3G?q3d4?%^4@-bX$LV`*ZW z2I=ovp}X;CJR0;o2|6;yl!#n&G9B@xq{_X@;brRMd7=!asDMF5-P$A@$Jv{b0^7s^ zyhXK?*~E#)W_`dIa&mE>mT7@nq2X&99rGE)szeqVHBeQLk2XCx z1n8sBH=2o!tXDZt%JZ$@iSHrRKD?8!^J~aM_6i?^JYAtTf<}29W;?+TIGLo9zGKE+M&aY$S_wdL5nv@3^ zMR|B5+y>UMWPQuo`HXCC26iSRT4ippg->_K`<2P_en&Ux-%Q4*H`(b(3)^oK;f>27 z9mVro6p@~c1*^bijk$q1;IQ8Yy(vR=Prr#h4PXhZs@~P$mZE-{VvKDsUb53=WsMPV zBI3`*^Hy|H}|rK5|}9kbeWC$>gs8Dbsi z-SS)?@&Uv&!F;`Ug3e1VeChnb#=NoB5nydixS?@s{J{CfTfcuua(fx$#r@xD|8W|J zx$5U%&@BnqBr+Q`eTaB956CX~gOfU=J}w94pXe8nV;a3^0@ue{OS+L(CTT@>Cjy^l zpNJZWEXT(fPf>5v6S0{EjyhQcC-klQsRN}O=Q}`0*x#or8_tA-iwDx4)Tof6-;PFV zbOBlXLI97~wT@=?n!9R3IMCi9jIFdqK9o}vnt}|K^gvzx4(5UA0w92PhI5-DxL6HA zV)Mnh#!td>ay)Ie%Kp4VZXo7n5uwgET zi;XT2&(!^)Ju@&VCqGQEgELbT2+)PVd`dE>KaXk@zDY-gXY#+;m^@Zdr(sl8ln(rM zzgRuL^8ItddpRLrWMy2(>VF^gkw3SDKJf>m4(YTv%~Di1AICk#@(}Z7jl(^%O#(ha zVmi%nEa6>Fi5o8<8yT(qGcBAam;O(rk4neHIUfHP?b4+g(5N~8ccRM~-sV|Bhks~N zGQ_gX3<`yJWdDs<8EO6?@7?VTvWR!2diNkMCmWONXMa|fWh?(ZaX3SCIfQ**`gpTe zFR9Fke8QoBA2P*A!WuRf>Pv+jmC>V3_Wjw-GrMkhge}SS$V%HLye5EGNm+BQ1^eBS zsqx%}8vU8&sS{%`UrEI-HDcXYPukwoe^`EmhK)h zh9gD2$eaicgDY9@J8j}r*N^_uMHo*Gyd%tlzu`Y#L;tLGKYUDMy6Me|=Umlu&-2bDEenn$DI&~U(ZoP#Q1l&^L-eE7w6Wx9kHoXwa!xJS6fifyOa<;R&~ z_lWz9D6ld@e)!E~9Td6#88$wC>BAdgW?hzpx~8X%}B<7uMj_*8h*VcmHSl|KtCYkd##_XH)7W zdDTLNuqT~#UZv8}luD=9Yn94r+f!EQAk$0I0V4^KDU}Xvq!2Q4OfhoU7|qVxbI-%~ z`TqX)`3F9qU-!$N&&w`*J|Fk{?RLA~5PaXztme^yLF?iy@c6?KMJSVz%|3;#pTThK zpKn+g9`MY3%SrvpLf!+PxBZ=m{B^c7%UMrH&J}je&O6yvGu$ zVXT#A;NPVsRbu{Ej|!}-75%Qt0$vqdmMqUPEiHPUj+aeq0j)hDhDTl6j5+r}-8ktuEJSY$#abFK zMb@)fD5drmeA2*Ji$(_*DZtOn%_myrOYu186l~)x&}KfRq}LFU^!3fKI{GPUrm}_c zLWpl|kirzE^hsR#b*5kXMSA3=7lH)CtSdkwv|)zs2MbJW-e^0KW1uz|m}{-A@(Sg@ zc}|$Se1{@xbx7OZQLarNC;q*4yP;|pM4J!JC!88LLE}QC6r^Hxgx^fAtC-X(?8HkA z??V@_iX?jONuV;sCJ^E}Qf5Q!e8Q*Rtm-4Xqt~xkIS`x}z6Pj?F_GDdE!SoXZCQZ2 zk87mNn6Cf$wAvW<>S90O&X)DM9W75o({asFy=L~dT2J>bRw52W(Hko#={+Bx=P9E_ zn-S43VH@p0cb@$a5nkjd9Xc>#)IT!GZLBAVE497T3T@A#G-p=o_ZSWgMObUJSsq$@ zK5&Jx6}ym#P_X{x%^^<%*R^~CIs&L>;+L&-96tH&q1v_Aa=Ks5RdYkt`OmQ%+A(OJ zey$>AU7O&T_L{KSKg+~K$kui&ch9^K$bb=V4ffg`^z6c}z!knbB3 zB!n}lA8=c`v8?W>F$Q$#qxPch0lk-;5zG#byrMd^OsV73Bb*07HFD5eSe#th;aagL zkChlyN0GB1=nf=fKQnr<0i+@k^a=&n^2#P~(T21o6!_N-FAJ=~jWXy)=2~Rh=$4zR zWwMG0ahmmym2&Xbn%d*;8GwcM@k4yb20vqGv|!D45iRS}Ekrn<-05Cv8Z%Nt9btE` z4VfZy9xh$cNAXYJUKu{9wl4g?!MsFk^eTmTDK?l>TI*c z+ol-Aqh!RuX0ubO@t(>1i~<(!+jQc@@(-OoXl7Harf2j*jWqn)c-?$Mp=W8tud<)3 z4!(unj0JM)y#nCS>+~r&I=%Q3?;bzFN$cIzaH917`I}RxkL%{3@0T`ddNPKkWKg!Q z21MUOYsv3-pjs}9o1ld807Lgx@IP36^pWy^pxvr3X|zAbVJfVm9D^H3_W%%+zewaG ze{vJgcvUXDAMDO6Z zyXGdG%@Zkx3&_%Ud!To*T?r7y1P`T3QU&vU-14bO^TM15q|O7~pRRg{S;hG^Pc|MCk*Bq&4Wk zi5H57mmHHWLxtI(nIkdV2&@bLz|UDD)SwyPMX%E(iqoG#7i-D= zcBuDR+UxQ*&5swC{A`M_u??c2r-Q_L+U((!0Py*lbdzSm(Pxl(>sN=%wg_4K6W*nB z8u%7CNNhf|WtMRD$`2sBEC#K~7d+U035i`OHda~O;FC^aq0FUn+lL&+FEMoSwV;x7 zVbHUJzlXur*&PyiW&71a_CtckyzWo^hdpbnq?%?;?KK?Dv&cNl@?F{!3-SDI_lU=D zfOG1cH_eo018xDn=dLU4=Yx3(SgOj&MR}=)G#utfIZiGITeC7r--Wd?Ef|MAi}>lv zw!2(m@g?B7&k*oq-H7hQbIBf-&<%@&)=WpDuPEMMN0OJdhdiVIh1II3KwC|b^sXlk z+@FO^@5f@MJMpg#@YD6^hFF`X@T2Iqq^L?&tC=rR7E}~Iow>V;AM8#vMxmp{{7A3m z1~xLgF#+z@ez_CLlr0>Nc;%3924C`Wd|8Z#cIp!-dC!Sk{Ryu{e`W!$e=VWneSXYV zEIsW5?_d|#L+i5yinQEJE27xV7rNs~xEaxGxWKSU;-E8b4D?yUSsGZU$-hTlwyX~@ zL=v{~EaU2i(Ic-BDlXlU?f$o8QF-~$P-})Sz@&@bS|F$Yh$NVz9!qmeLb^pJK;0^ z8SIRE5BHv#z?Z4IR3^E;-67*?kx7e6hbG{EMV7Yr%SPm3WB9aDVHGXX7V+zrcuoXz zJL_pn>IBy6$H>awis(fHm$MZhv<}IeD|r~vL2<+$=(@Z(3HO!8(QL(BrDfdYOWvIt zzs#BJFS_t`k6_0w`4lJ4RQY^TKR>=A^LM#JHn?ZyxapvDQGOs0MC5{5zQ~yP>Gm)|$$mo%!rs^H9!plHYL`6V_*QxPSU-8{j)o*T1>2TXpn9 z&P}4IuXFA|g;LayeY{f~oJBo~Ji4#T_`p|e@#7W+pII{O@v7GZvQdBZCu?VkDyq=V z2`t31clD>}DE(dpD|A5DXdCcI;(;vBy0RI+O&2wZ9CY=ExX3hFx~m_p)=&BKKiwhs z#M2WJXUcAX&wQ>PBu~v}36C;tnuP;p?JJ%H@SU(&Q3SeQKK+8opnMV7ojW@SGU{Kh&rR}pZjf{TNR%Rlak zj>hug$kjVzp6{T(IW(#};^!jSc9P%1JJX~TKFoYcw3cq3$$5-BLzdl#m_AxQYwB$6 zT*Q#E`fuuf&IZPU=CtkA>S$wqcF#+69#YeXFc)!2EZ!Ko8 zN^S8N%5$04q-MutJ~Pr1<#S1QX`krT&`v?;@b;1ZKZHksa|@qi>{%R);ht(^|#!X!7YU%dv#DF-K4vNm{%#JRkc+zc4(2_gtBE&=zD~htnMl zy3Qv>EkU-FICuA7zCrwIpQqB66#SRdP+F1Ymb*0Kpl3({J+xxfPkv?}fr2eSss{N3FS`Lhh-kM1z`m}* zVHCY-P`AEplw|$wWoAC*)ZI8Ul`O1$t~^}@`zZ?MOG7En`Ibxbe)MS`a_(hT@@HXo z0oZ%oq2b-}ftTYt6q#82*NudWVG|~G)l*FS+O4rkNQO@r!EcN+xD{K`UF$2v-w0h} zm9*`2M@8XXE|t*9dXpviaR}rfv%3VICgAw8P|6eZy8Jo0g_oL}CpDVX?ZlqmBtC?wS&Ry7o^}Y|$NyCN2bL44Sec_BzfvBGQ z_J)-FCpE;1+mKA06%aD6NsRR8BrqO+3bC6X61%!Zm_1O~kmr7a?)~M8O*MzNrhNGo z-o-WaIsMn!vc)|@E9Dm*E^sn87&TcAXr6-IqLs>Ra&Wj)rdNVE>TufmIW?pz>SB_Y zIczcptU8ow8K<|;soK&Iwc9ai2Qfjh4O=Bi^Z!E}@Z3x+%IjGG6kj37tbQdd$>dm} zRJG`M`D18sG(h*mNZGF5T46PEe#Li%zMs|6YL`tg9@Bd-;!t-zr zQ;PTv0&oim72-v;W7AX%vP8zZolE7xH6?7%8{vOfQ6JEfEgNa;$%{rSx;Rf(zvP=r zt9L+)ld%nm_7FNnAeaRiAf~f^7epuXlcN5XyLt?oEo|%zCzF4sIg$m6Z~6dvBI2az z$M7`Qa)%_?w?@>*?plkwVP0Zlubj7_h@ju|61(_K>nc6ij6ACBr5zm1D*idr9{ElKM^Qp`G=*c~f6Z!Q^ld(X? z!fVX^mx?Gh=J^xwE8c%nAb@cqCA(^Fhf_Sifbs*QTAqCyhuO$3sbf!Pkz~AOnV#F( zs_8|}15jcXw!VsC4C&f8jC(?7qN(d2dJre;%w|D0A(OZPVOr22!Tuan&zV(MzKq%E(vzfM#jMGr&O?eFJlL8LO~^9ChCCl@u49 z%fLTMYNfFK6>p~6fi$+3>53ROCXfO*Qwsx!sEMRIj;8b0K zj~^*-hSp%&zVuM0Q?tTG#2PQ>{@d33V3)8)KkO^*BRRvprs$Qq@`e%4$CxKFt@Wt1 zKzdfoEaxv=%bX4`qBZk#*I*s#a&xFH0r%RS=)4i0)K4<-Gm&j?qx{)PxNs9%S6>>I zCqFhFoF|P4i>);o%wfBC1FL!dyi>#!z!f;ylM`Yl@g8*qW)b{&?NaQ7N~%&&QiX?D znX{E2_hp4#Eb%F2{cfF^w5sMdQ5|td$VCFCg-A?Yo^catjl}o2o}?ep?37C$fLKKe^^d7 z&gG7-;Y3y<KY|9!1#am~l$uuN_)hSrQ}5xm)SmhLr8j~j$MQ_|kCAiz z#IG#9#7e-zQTmSELHXEG?EZypXt~B`f>aXn%sMGj!K=tbi{dpFRcJW0K+oFt1DJ#! z(FU_05Tudppy3<^c@j>eO6zh0Gjtbm9B$)GVkmvpJFXr40L>jwlI=R|KT7xZ}|Ywk2E<-*%MseI{v2g5+RIF9a>PKv5klIR3C5;!>Px#3n1w&>nfnAWm#)EP+VEG2@MB%lX3Cgo z4QP(I&c&^}sDSzPkib;ARvq>z3s_eX&P)8`JcP_rt@@cV`qQ>su}`p^O4Kc?G-R^% z6h^vgM}ob==ei=`c^_&j=FHXKsRrT|Te0IdZ65i)VdM>c#7gO%SyT}t>}i=b6eia_ z4or1!Gr_T|Rzhxj@8&Mr0}ZQmeoP~MHG|(?@tyJoPC5OKm!v!D^qKR66E8|rzV!!* z9iofPv`>2Ex<1-HCRyBk3D%H|xafg_4YDkGEwGfbJ$AOWl=^&}vRxL9S-5k$M3&)%4T z_Y_@Wjs|v{^#xo1MwBN1IhgO0lIwt0(HAd*Mze%KN+#Cn!ynR`RK4*aIl367b_dT; zCv?7)S`m)(cMh)g=&jT*oSA8^wHWbXRrn?N=E4lNmU@L=WF*eO70+Y9_OZyDaEb$J zG91{#`G)p6E6=PRYZi`tJqP-Yo(Ui?l~zBk_)NbbwirujRFp~Y0{(ih8pfn3+`#*; z_q^vX;HKJH_1JCdM3fZ|coGVR^_Cejtym#H_@iobUFQwr%I2~<&PmQ#GuJseI6v=L zW&b=`lv;7LGJJCMe^u0Tx1;8W*2a#GZa{j>CM?vh$C%Va#Jh@lC>x8oi4HWl=ml%Y zS?K(=<(J>IY8a7usLLuVp+mcHZeF#<@>Orv=`N6kZcwt;Bf2@V?`cBNc|d>g4wbx~ zUyvnStzC(@wNX37c^#Q8Cf33%prlxdB?eDHUiEXmgW3MN&3NgIZ67I*T$;3p8mo6e z1G+vo)GAY<;n{Qi1{*o^k$Gndk69?uuu&PcA*yUW(rBlXH9Jom^f6NH7JD`- zw#Tj#N5-9R7FdUtbI`57`$IIbhR7|M#jvG2=pDd}Zls^<@X00y+DPz0?xy_7I$r-Y zU3nw7q7sh0K`UBS&fUQQ;w!3|_TNr<5m$&i?`5MiWcLg|w+H>gTGwQ{_kKmQ2WxG+ zawMvA6}}^Bl9y}zbY()OYnYtvTgP7yn5Glulx|L2pkeeH&`6o)EoQ+f-TTkQE|Vm< z0i&!U;$pJkTCM9yz%}8!H;^SxoC<--FubAxEB6@)Kg} zF75-JyFE14X+aqzg!Ece(-&wW4qv~D&cBEwDLiT-esIa(-F{0OF;k?hPV(6XhbqiO*W;p(jCV?xag9_B?dJgZUh2-I zle8>{h4z1>{@4;KOX zx=#MHt^eQLG|}L<bR%Fw} z)xX^lNh zf$w-Zv-x@K+rQ~g1i+}i=|nyIzm1kz&y(Djy|M$cB%F9*8jjWD4^kpO;epA+S^ax!CRSkL}wGe8KiR}PU2ak?`yBkAWie*1dUqm1B>y6 zVfU4=H&&hxsCQK3OAb?;_N%Q23Y_IBm*ZDghxVm zhfL};T}W9MK@K!xQ={#RC2bZBrF=-l%Nu4gS)5=S(J1~;PyII3oi%}oi2d38!*lu5KGIP zhbR%vG-F-abEQUorzw*0T_kuG6GG-21AuC;ue{izQW<8y!2HY(z6!$`1d6y6_n%EyEnf#2;o1T?!9mNL}w6W z|J!@#eOq+gy{^{5I9B=Wb;Ugiy3#SrMm}b5Qr{&Pk z%m<$A)vfp5%b-U#Bfgn^fRzjK+VNe`di_nz#E*rtwUdWzK@y$X6&r=%Q(CjJaXHfg zwirErv8h)CwrK z%;v2}Q$L}C)`$lWvO%S$-?G zO09XqxDd0hK&9md?-|n%$3?Fy;u@=0bQFGOK6`CBaxTta*sqF^M>Gf7wW6Oz2S;(L zN#qp9W96X$z=;vT5M!$|PJ-)KUkCClnRBjS7LwZvVr#&oWb`CZ;5(#m7XBR2Dc+Ad z)%uN%JWv~q9fU)Su_*(@+FS7N#0nE#(1{YyEb5)U{D zc$dSRaJXH`Nw+~jbN$dp>?{GBuC#@m3ipmIB7K$4;)wSMzq%vnY|%)BI1u~oj4Mrr zluLLumjKl0HSQ=M$w=aZr77omI~Z?j^+oLG+)szC7fp~(_$kfmg8xwNxiPOP44G8} zU_6kfUNcS4dj@*7t9%?Tfx|)VY|%vUwgArITuA+PCmP{33MryiHs>woQf@@f(^&~> zHAkdMzqx-Mp4m;Ap$&UT;E1Nk-x%_rz%zK9>59iY3q(23uj@9=Yvn)1*sLfICPCe2 zs=O<@L8)Teh{EABNQti*e8g*+Q?rwhKcd85W35pSzyve~0W>)*G-bFX`23{XTRTZn zREV^R?ey7sKHI$6WQ5Q!GGsUlOhkd0-J2fhMwGd@A`A1iS9e~QIU(c$;?5#y^Gvch zVZ5|ic-u2E0oihR9r|49A5G18R3*$qA1{JnW6@)^bSivX*?T!zxI8(i&Z8L6gg;z@ z39C78t6>{ozH!CeX3D6ak~U264>j(v`au}6hp$4~$uga}+TSFCY-o6W<^=T{-5|d?paB(#{;?D7VsY zprS-{CPa;bFKKr=h_91KZlE|YSn)oQlui2<%00Ao57nNXXC=`DOaDC%CrEi|vhnT6 z<4|B{t=4U@bF%u#-R8^#5-Ulq3QOU(gL*#V%ukky(r&Q-R>k=~9D#&fhhtkAk}^Kt zq{oNlTdY05ohwIw|6Wt06c8_KKh06k)ne5l$d{b0BVpi6-ZyACb{g}@4piVG~QEw&rx5BXcJMX zqcMJr%T5ExCV*N^oCpVX;SknIJO-x_@yZ?9#!gA8B`%sC635uR{UFS%&Pn9-iZzzO z^@Q8IYM0Lb_Y`~V9l5j9{h4nzec4Rn_4l)eX30OQ>p7@ex)Oc6dI5j@fJVfJ)36tb zSRRJr#il}YcV$uUlil8oJ2g2WnCpbpO6eDX zb{~7De5_mo3VRBC|8}9dQAZUT>AlS0$jxk0rf<8>pS%N2Zy-Ja9!n^(k@4{Fv&GWZ zK7CtYfj`GzkdRSdHgv5xlE9EpVoV<0)8@#Dhgyz!j?tb~$Q}!EW+ET?hW8>8Vk*j; z6|f~H=7{Ob`={$w?G)ZU*;4WRHK;^oF+^dr*{rbcgSW5!an?noPv;7dis9Jh*e&(C zJFviTj!g|Aq6?=KYdkpGk2GGYY#>L@x^5u0LSsKi5FJuO_7axR3W%+IOu@l!CUSf$ z+T7IAN!Yp1@X%y5`(H2OeRPui_Sa+D=r$nG2{J3Jl5$E#rN_F2HL66xAh2ozXs-*O z3NxIn+9pK1LYDKRSL}>+VPO|mtl=$FW=uu(;{(V9-9hQ=!Q2A62uO;8W!zNsS)XRz z41KEdGcu&}subGNna?EF6C~}KlQSX{Y=@KF)GIjFYM9VFQ`9rDr&N=W1a=X|>VH6)@+#I(?wu+0Q?9KkgFIyP8Yv48 z_9ysqi_#8oQ#pero-AmQ<2_CtNw@@Qr3w^6CmedvmD^b6&=mZ97T@d7CA-flvxoTv zk;mK;={tu6C&`=Zy8XA{ggL70*Wq}yhWttAK|O8)o+e+zyPVnmz^RGyk$r+%bCfuI zM%hO&>FT`4f1S5P>+_cVobu96bv24S6n5U0P zBt?Mp4N>vl56sTsN9@_7rMMd1Mm=FY_~X2n@TPK}k&J#=fEdWOKNGzq&qfJ<&E&`A zqE8mVrmrp6#D;b`yuhJR^al>J?n|5n_}YekfCV(2M-MdrOnFQ>e#p%)FAg(T|C3-8 z@(wHFG1Rk(;VU&jar^=rqk;FEyy+wcGH};U% ztboQIW)eGyJcfR?&8OMu&dl&pS4NI$eC3cr4?BgC?W&rhnvV7#hV$a`~N(h=d8reM)zl%(P$_6ELR8u9ogHFA+9vtuW zVB8DH)?!S0vH%?uXTgp)fH>;V72X|P0GU+0o3nKSu|Z35ZD9u=I3&H`U$J|S1kM*U zqnj$FOS)W@od3|xb=dfZAwPw_wv#%FRZ-sh^bpnjEI!E68fk7T-yU@J3-1EHD{i9O z9qWQwn0p|3;Czm#KMr1BBZ-F$KJ(SKJscXZ6E=ph=!xze*D=pd7Gyg>G=eP;@gron z=ji+gO|I|_Wk!EIC38;_?|boc7QrOvVWJqbZ7WNogW85yH$()L|5Hl3bRL>z1IMG= z{ty)ZY$W}%@le@u|2h&4tIK-kz4$|kZB_wot2sJ58SO0o7rtku z^qPzvtC%dP)lSw?2Qi!qiAGNxRI}fg@6}CA!Vbo+qdQ~)I7|2@`j01N1>k+NfLrCT zY=qsWTUA0iM+ZhZ;@Vo6G$v>dQc-9`M=s zV6~lU;ZskjHn7<dOHQb^kf%vZoj&z24x`2{dAH>D9|CKxKMh{aJOX=zJ{ndAgK7W~P6bdwe}8!qz)yBvER zl!cX0Mm#z(m{yIXv*?amvwhTx4?#$>O1X#(vQ>R}gPB7Xp_N=-$^3=KoD?Hs@OHmc z1ik2l^o^W8kqa@O@{;PN3ahELNY~tURgrqCus|%t){XoePSFG{M`z|>lykz#h)9e5 z3?5~NVi$%>cTk@;GoF!P?EYcx`g{gk)|;-Mz-k= zw%~^zdvWY^ea<@c^RXi3f#tv?RkqWhCtlE}ArM9>*^HF|fB|G_s{{`$5FWW2^+o*@ z9;)7=vTWr&I<&-ZX(s40Fp>*(F6Qt09JZu6a54hizOEOva2~KP0-LpktF=xRjS2FL zABjB9@wfiupj!RWec*FN82^Sba?VLxI_I$cu*F zCsOIp(AGz~D@KaPN=A5z^AE!Er3w1GM!JN2s+AG4WIrJu-8=yZmR+pao6l`bmWGTc zgX_UftHz|q{Z5)j$4-Uc*U{p5m*bdi7hjWR0@cxfhjQPP|7(Jz+ltHP)->b+ohHqk z@?bo~XPD?Lx+nEh5tYLAOk;)W6TC-l_SE+(;DozBppPuz-u`5vTC7nF(_LFdO? zC=48a^CfVK?{KrHq3&W5xF9Q{7&ubmkWc*kh*X*kZUoI$*NoLu6mAcM_gb+n*i5N3 z3z(#w7{1eylQ@gO`9wXOcoBIYvht5%wr_7GC_v}F4!00Tq!e^NZc97ZR{8>P42h@T z*Bugyz6Rw2!|V$9C*HpClkgmqzO8dUeGl#B2gN>?xn$OQ%MEbrE9EXBQ17~dx8M63 zHc5T_rq)e?Y>y%i|McK2DW}bl%~D2&88pp-$(K*O5!Ha zOCT)_K2139mzl#MjEAd(>a$3JY$z6kg!qqhM!jXjD zgyghF!co63XA7jI<=+*u!S~(x;Xh1R8yJGX<%3_>&5x?qgfQakBSc zr|V{f4VgszBB)2$yNOo(W~~&|a@tV16RXC@yDuc%Y(Pag7|DG*S+}*uXw=NP;`^3T z7XJ>yKX4;Ah zuXjFiaI$*bnN!I7*i*neZx-$Ia8&=IEV1?zz@oqVGGxT#3Pd{ohn>1l`UTNsK~JPV zxI%g`v?4m060cmMCXF^JiCMl2F{z+V;$_3*JRZnG4X2Kl^-~vu%bxV>_Z}Eb+X)^o zzmE3#3y*`YMV*t;@!61{Xh@n`VSJ5pjYZACmkL4IHNcC2$p zT*xL+^oN_dmeczLP1EgoYSKX7{@`93|&E%PK82Imyry0+e=#>o+b__)A5zUqTeZr3IAa)F_H3sqA*_X@{lwY zbWm`uC<8G@$eSI6%LMG-*_^MM6MjnuO%&E?TU4GNe5oCF+;2h46rE4Lz@#F{IWa9q z=pyA__nkHxTiUOW9HAaT{!(li;SXz4JY@fVr=A0Y48gfj&MV%74u5mTMc!`cs4w_A zMzIki4tl(F@OHx1g7cNGn*_huUhC1B0$b5qh}=o=-X<8#b0RLg^+Wmqwuc=Z{&*e? zu9mSr*e7u~t(+!=Be7PqeQ}_hvQb6QKmN|YgC1&5>jGZSfVL4twk259XZq@if%7x@ z#(wGhxwAzH%C|reFiR;3W6b;=UBnSFSl&wKQ84f`A(|P{=6N{^np!ODc$O7^%@(n_X)L8mG%gqFQ~}o8f6|sai>GVi_Srui;LU9 z4KdT;yhZxJQT&4q$kKQ01tkd=Q6(Vft;GQ~JujIFh_wr;X++{Ck7!b*e2l{!R|jFt zu2RffY$i{@4VRX=zE7BInEuG}C_eKY`JP|^IX*}gL53y>KZ_c{@686?6(5&13reQJ z&edu+2}#U(g0c0M%D~Th1v9-e^FS8SNpbU~&~_p)le<`4R;&p3JGOgzr?WdXLFAV2 zoP$k z6AV%E$|=(6fSH^nXbU&tv$e|vo!+1saz)9;w_74azDZ6{kc`j_x)y%@Z2~!h<4B!4 zSlP@ekcZwC-z)vT25BC0-(2C<>$wF$dZAPV7qE-^h4#GhFaOsFwg1N#p&kMM@8rb) z>i&;w`M(yFMW@ar)#s=27ZyzSNs`4CvyaoCAGFr2Lm&`w{#2&w40$*Yxyvf^lT+eY&JMR!i{%6s^ zlQx~@`lSP29YSCa6ubZa$h&6E85>5`^A^?Fmznk*PTwZdxAzs^W^L#DRgmanO`X7XRijC@H$dI=vWW)}x@#G-+{o|9_5mu%^g zP7&P}{FI*AI*C(DNZepFY{tAW33;|zx_>fMt3Bs6oyp6Hb9gDVUzMzI0-m2?U<>=B zTQxnMQ2F1r1Lv8ADSv{$OBB1(g;VCta)!t~SM;3eNu`H$D>cCBOMczP`UFJo@X2oPPF^uZqQ<2g{Z9S5QIWfdi&t}q+I?Zt6YMf_GFMN($ z=lK%D4aw4fUPxQtR?8!T!Ya=7HWcurr^{|$_dor2m2`tq2NzH2LSR!_L7niJ)db#M zHR7C5-dKWedcqG5B3~h%}cjsf}w&)%c=pzr@f~0eds~YpntclxWtvTl$blOeDBAPkl_%1QzTaj6( zjcOAq%GFVT++#HF;|qCsCg(ztVto5SYj)K{CUvnNotZ1dMsAx~gO>|1PVR?LQs$wr zUiKpje(cBpWIqo!OZEX+j_5K#xrvGke+{&57lLN7qx#4*)|eikC(AJTM;~k9 z65Trd7ZO&7a3~0URlDv@mL}mvQ&~d%!8J#hI#T%PSfG1vFa92ox8g=nL4MZcV%+dI z%KUX`3B!(3&n`S53@7hIj;#K!d7Qc$g-UVh;I8|FS;`;AkalH<=iyO3S^xWe5;v8p zA>Iq|B*dUh&4H2QhQ{xHjMAgful#V2T=vM(B{&1Z)da+bNZ9TgpNW)qTxE!D6lwSf zE0NeMtbb>Ohjk(I4q4%MU-Bt@ncV==kVW)lSYm&?~6A8`UFl$u1e z9Re=-7GYfCCC2lL%(OpibU_A&V;6TJj@Jyg&AYrU(GE_ZFk;ngs92^tvI|BFiNSG??vAY(q zS+2Y=A?Ler9whviJ8MuKoBwwz{%M5!(|K`d| zu8}`pV{RW`#bUO#@96@Bz6|O)LUYQ1+g|$S3iZHAy(Qv11RCu zWVFK^&E3^0s%DKwUQGDUKJi?ySnv#dlBhCRIp(tDmdXJB9_NORw0B1(gE^Y5SN*KbE`peu*zZad!fU~y24c8DaOx*tKyJjew0K3geyV1EjR!bd8n!@*P zA*L7`7$ClI`=Ta|%Xir<`7$HC{LO!P;DQHvvwo!#2f}8Nvmm+&I6Ou6X7Y5BNWVi^ z&FtmwAu_$1g~c51#3VZbyZ^u#!7vdod%0o`x{rT*Yh+-stwA@U-$69~s69z-jq8F*A(i@$yvk%gJ-;vU2mnK%yY$59OLl1Z$Fk-6Ai}6lnUunWt$_ zvcNr}pkvjth$Q{LQGl4c=pA+2ZRvnfd=zPzsO47?{u($s5$!T28VDKB_U3^`(Y&iX zPa_ub3UO(l@VPC5s`KHYS+eRGcB4NlMlDkAlCgK~ny<;iyW59Zd``84@CqOJtxK$3 zp9R(o~7JxqEJTLrI${bn3EfJ;cEjTwb$`!v9Z3^$m_*Uaflg*%Ad6Q2=Q&5)VHwbP=jF4N`K2d<{4s z;Xla;eqF7o$;}j6z=ir8Ip_8k6?t-=^2ZeOv1G;o@tuc7Yh*@?fi+%Y6^B#MpIA`3N)-EW!fdi0sL0U`fe;h0> zZ!@|w1`rk;YlJ&$%QlnP$(H+* zrMF<)VW0V#3b>VYoc@c|A4hiHC$&Q3X7#3xY6lK*!0r(RH`A|0B*IE?wBU`XzwDki z=DFt8gPT7G{pX?k$K>0!fP9^Uevq7=)@nXh{D%xedv`v^Md*(85u#MXZ!PVOZ z5k~rj*U4!E3?UyR4Nx(t)16$!j{x&zLPPj*r{{Aj-IyVfZy1tHmyJxm*JXM#DHUPa&@r-NMmT5Rus zEM6raj4BZLjExZ6HT^LmhpF{i7q$M2b3JfcY@25>X5SUrNDGA@qx+%KzbqJ71muiE z1J4f<1JJqJpQX+*nSO2&KgFYbpL$RCWwLI%bax%C64gMpDXoaz_@ zD93@eGLvVB9b;_0Lq9TV@r!NWA-Wp1Tt}+?2S_K>D>m!S#aE>*5T?S{Ya=a(ue znfwby@|)=V%t$%$k6?~Ikhz^%Lm!HO(2*7Cq|3{|M8!x+NSHY6pjG8ud0`!>Wm=}) zt`Y=KaQ?~0d`%elO46wOz0vd92n)bff$&W@L4Hp*w}!-SOt>C+dUZJ2S)SHM3uCUd zpY)H_%;f%|+>uQ*_EAQMG~)BA*?=t^{`fXPJi)sx3-|F*~XiK}f? zrJ>BM;2H};9q^vFSHCndZS;Yp?58W1g%<&3u4CMSI!3(G33KbX{(kmJcpw#5iBAyk zX^|P)@EzRNjIW@L8)pYVt>UzV0te~}w`j|%V>T_C3b{szSvjVv^>vhHS4l#W>YU%f z`y)DTzrc|(1zOR;QtquHJAyWM5>&BrV6^jT?Gw8WO?=eqrZfAK`Q{?Nk*czUuVuCg z6=%D!FUVARULzb#%z*59qS$aLnBFbcS(Pdat<&Q7**^xNq2T4@z#i0#ZG zxbYuA=1mc9@%+E-n>zpb3Vsy`w1r=(dc2)omLIR$@}ddrvAsiSC87gFWM54H(^{(- z$muq@*EwK1au+c$XW{UAyqWF0v)ZJ=)+sx>bPvLo#igTjVKU-!%D0^3D{xb`*ojET zeJ86OMwTYPy?DI#I{m9WLPuNujAU3vi6m)#)tGx8#EK`8dH&_*@B6wV_|J3lDq|ar!kXg-M%h1hAi5t6GGZC})6sL#e@d;tX#Tw17mm;y};; zkGMCDhpLbN|I3mPlT<<(r7o$fCaIKVj-}E*m5Me)D(xzjb>>(KMU7S}8B$S}QR$*E zhX_%|P78yz`M%Yer@*h+Xh#UzvTlT-4X#%0^q zr)UF30G>&76K25pewY>9Am1m^^(Adp#}5IGw|<9g-=Q{_FA(Puub|&qUru+kgV3c4 z$uagCBTG zn0KsXK~R3E2iaugVnUeHkoR7~{J} z;2YN}mEAI;WnShR-H)-V=4jS%jV-7R$iL&kRPUBp?XW2v#BdlYtTsFK18cJPcQ-Zz#*bTV1mHh`KZ$ovbmu+d zx&w0&c&4g%5N{9DXs@Kb?|c8X;Dt|d6;oZ-e)VYVBB^NOOM0Q^LU= z3KJR)V9qEIjS%)S7x8mB@#qfZjx18jpI46woaDqO{a%7wxP!x03M~U>!4n^-tD6W) z&sJl8nU@`}C6oCKIann;ni2ZL4BjX^&L*lGbyZG1mjRzKXlTF=WylN$el~}$?4UXf zJH}AI_Na;Te9c?A9_p-Eb_KYZylJ4sdoY2F-S3QB)Xcn%&MxH2I+hLB(aoH=YtVSq zzM}|?Fs3b?;s&^LWW;}ciBdw053uG6wS1$QH+qfmjJew=V`X;>VlF-3H4l3f`FMTBwLfK z!j8qjG%;h2d@;W9up2vG$>;?gf_sXf2IvGq%_`jUXs97$@?!yVHN3DJ5QQ&*timFyyDK z?0d8D(jU*QH->Bu%v9DrMLRW`C}WMuycq&&;}!r}(8`TO+hM^h zNzTth98ep%n2i3&9=$pxDVr#&_!6zTxSYD=n{q%4OQ2PTEr&l|E24B4Fc5P9pN9wj zZp^PU;C+l|-wFS|6)AcyOIgr|C_kUKHM4?H;#dq(thoWnp&J?=r_D+%4hguO!Mz z7q%OqGXlC}kHdViKK{xLHI=HT{isbRsH>VgjTdZ-!+59i=BPGZdC8CC-%@?duglgL z!b6{`WwWz!kH<~=3Rk#gu%57LFJ{%Ru3H6Df*(Pf*9#8s!xDHqXsa)Hy_59V^qSPf z1%Obv>Zmz?%8O`CHB?flQSjsB^RVY-<`(ZNx(C|`3BN*4XQb;Qi?c{Ks`*JsuT8fw zM4H6jLR+R*oJ`F5d4_`*QW}5-Oh3O|?Dc8-YUOcvWCs8KcyKI-B|HEuzt4U0sNPWz z8r{oT>rtK^U!Gh=9mRPXj_%-2V{ljcS};+yrTofPlXi!Gj6a?l4H174JUC{Owh{0Y ztx^{9Dd>*=$g=M<_@>I>Xlt~RetfUB5|s)sHVa<~RpGVX`-1nr#~XSz%LXU@v*;wP zu4JSE@B3b+nK>j7-D%F6l+y5i&yUA= z)S)XQH3Sbg;;Vp;Yf%EEsz^4cBwgknKD-xnbD4=&mPPgu#|+CU$+C-*O`5D+z%$I{ z*$=6NNrydZ>o$)Hb&z;fKr&!YeVIN*U)_UcW@sZ^bByY@9Q+)I-9!4Sl@4P_6|kWm zI0b&!GC18Qj04XatCZ5Gg`o!E&#@O7IiMsMJ5+l{C~Lu9%Hcnu5#(NaC2iq&9Rc&O zTIaUto)DGh0FUi?s~EZ5v@Ghvp*AbDG?*P}#|teP4~mXb7O*)vlmj5r!KAO^>Bw8F z4^7w%3#k8I2O!LkUxx&_N_8cNttqRoK)ab=(KzUnHkJdOy^HSoc)u09S}2u_@9g0K z8u|Y?BRC7CZuF{i`n9ByfbWZedwqmgUCUti5A+yhT`o~q^>yWOq1_;kT{C(OU}JqTZ+QI^Iw_^W2o@FlK76?4N_U_+lT9+V{?ibXwFz96}6)DZ!sM zgH6lepYxir63ZblXDg@rBY%gGLLCXiYxir})igjI*My&sBg}?UjR!)-Pm10C+@a+g zH4}<+LUd&3C#r2JG#-%6e=f?jA2bv!4opw{uUYmQymD8=3sL=ziMm-aXV7P%FD1dA zG}}#Mv%G|d)RY4=wASy2t5o*W?eu6LQ6yS9pZBw!xwBiF8TAtVJV!Ktm|@iy%%}NY z1didERIOV^3|E4hwQ8%q{3^jc`Ynqg`*Pt5X)~I$v5U(P`M*4N4mDE$X(fJFZw_i^ zJ>?#+wmKQ5Qo3`@1d1Cj!gA&`ksw{A<138(E8I$pK@vw;|Ii@VPe36~9>5}HJ239o zep6hxkq!OjQ?7$f%|YA`R_3x*2wuUOxO;(|PJCX8aw1-L1&#R3?Pq`gVBx51Q557?mNJi5LYnet0wE;|vyB`4Kj?>-)>22H^i^qKWtfZDe2RY2`7fBN+LceFX{K&WDUuu%fP_rN7sysw z_I7nh(0pE>g6SF=j}a8Wg)qQs!03uoIw|rVr~_M!#3)G3(iB94xX%M#+yGLJ9 zo@t;GxufA5{!$V(_mFMf)M#llvjs>adV*_I%T)Ff`;tHXn$Zwsdy~we4-G-y3iXhi z^`zOX9L*5z(htg5ckq2x^dQ5z=KPeJKmJF#OS7ULx&=PceAV8Wnu?(iE0WO^)!=dTtzY*}2{JDyF6CB5)PvY(U7{40$O(CMApA@E4XA-iLTQtR{lak2=oGlpQ^;hp}Sc`bStU`25wOD8~02g7v&?4RozGl5t??5v@Vyepu z{m))w^89fVLyaGLDT+X|Tra03z(w#M?h}5TAT^qsE&ygrd4dEaX7_Buq9&3*dcc|! zK$`82jZ_y!ahjw&qcI0OzBN2lD!eIMHE1?8Q{ie&ZqoefIfC4(*@OT^*ggPEfP=>B ze&oE0(r7~N5{jU;!oYG*wpJIDOEKZ*S~I)B4{=z$N~@gu9I>pcw+-$So)3exG`q_Q zw^h@AB)p)y6K754YzCId|7c@>Vu@U9?#5D(W%VB*u$c^r0cp4bCA>GGQvN=_&c9;u z&^M%_&~_;BGDvF%WV@ic2coN=C=k*^Jh=f$gZ+CX zW^_>_@L1GEJs*{foE{~fqT6(pRELKjdk@9a>Gw1?or;1hljDV^40{ZoshWHFQr^AA`h6>LowX8vBvkg5AiM{Lt6BMhrO3pUvjesR|}JF5GmB7f)P+rFXK z!UaK7)D-T1Vh|S6y3-IIqzg-`(S7*#fWnN~;@EW4$LN2>2g(Bo|7%EE6YJam&(g*J z<1gYdrv3U-OMP&t?(MyY%b#4~Dx5A&U0<{{`&iwTsAkOUHtNTMfbUX;g9hFBFyLB< z{gW#hqY_f8jd|DOCgnGY?OH$l5_9Tsec0Nk4a#e+x^&-*Cy%X%BU$vYmAsz+9*EAp z<`EVse3@sCjBRYweK!Y*>JlguF(TnhZ^!981`c9tjatl`aOVPyYe+K-<7`>7&*LCSBBhb^-R#8yAr8b+QPq5@nv(D`kGUp+G+AT=Vdk>WJ!{K z2Sn@$Z1#L5DagApCE@vwx)xq1@6HzVcx6&%pE0`Qy6!LNLQp60=6&;J6}H)r=G9&O z$!`cI6wuj;*Vz{f)xXxKIHm>9i0~yo!aDp3b~<}wWsy*)S^Wv5YJpUKf74oPOo@upwV>U5<#Jwk8IO{Y4eidas{Gv&iC=5zr+9|(Bk@r=dEIX4}(6ZiXP(RUBPD*U=D;uyNmavBK~9jL=67v~D( z&hx(V3ROpz!<+9UDe1W%h7Fi!scOcv)kun(pm5=7KA6WOQ(jY|mTeh-_aa@=8W zl~>-o&V}jAZ8VIcs|{T$D~=0tpaAR2oCdmD_ky>7+6 z-D>5-{rm7F;oa8nb5jpk}XHnbq9D3#fuoH##} z@bEiBhKD3w7Y@N1Lhvhx;}u!x~&L4#8XL*}C&t9@0$hnH9EG96-?nZc;N6!~*>i1qR9WY^m^?jKJq zlXgG35}ZEf_{Xb{SPu@u0nfbcT|q{A>b9I^8D8qW{D*jt7uo z7ua%7Gw!F{^(KPs7}*1L>`(wr((?6F)WH-zsotTf&`&Q=ro0)QNyAOPiTzNFdU0{E z8%Zi`Mo&a9ecO+XCom~{tzIB56X8l0j#St=9(-^ys(mY`PIcZ{3A!^Q$DU7-mZd0` zH3eIYN&+{Qb~+yy#!ueW5*q4N%@D)Wu=?}LM#&t_)Hc1m3`VYxdL8Ex@G2$Pt}{{# zk#vtl-FV!TiauT91OJ_n={ZmRxj8+0oq0M{8@=M@vNBHd!x~Z_0zqR?^a>{oR|%^M zU#foIO|H8&#^`d~Nh50x+Gl{_Z^b3mnogx=_{eC#f^|I#+D~&Z7oaI+!l~FRhO}iq zw7lAgW-Kgs6pACqDVHEgE?m_%E=dot+dl=0tGC&@c$RPY3g2^MF2WrcQopx!%WAq` z40xf6S(^Tr*kJgZdoZNd^DaK>xhXC<;X*_UHe41~(eIA3l4h7V_-VoZn#AeZ8~4%i zfXPbq-Wr=Gx>J1{OK`s@qpX?i!;%-LIM-{hCMa@lfsr%7a8G0|KS&4loev{(1qWlM zjj%?}GHz5$*RPN%>QYiEm)hy2$3`^6-u2)JpgZtO<}Tx_e1`(`RpraCW0#894pErH zV93(t4wA{VH)4fP>K8i6uRKLG`$ZV^v%|==CXn6|QF=FUa*kRS97~{AMPI+CBNwyTg1M9qv{GImGi%Vm{%Xu7~azF4m7nrVJ+tLU3CL*AwiG#V%fpe5rnsfz3i?k6;^dqxhEi`AqbK zwkA}yZRoH*&A+${QSqVu^eIRkWI=^Hm?J2tl7*N9*Z~eTB{N>BSwH@VNGp(*#YCl1 zZK%^#r>L~ol3&4(xjo$8hSFF-;l-pa;k9h;5>CoWU{Gn+nP~g(rE3+nJ`sL$+ZWhe z)k869$kdw;R6;ms3x8~ zX3d+05)B+REVGn8y%>%rAXhaQ=mm{m(2)h&;7hbRU&Q0C<8hapeTd;W% zy0@xVrA%7;d!kR6;99Lo`_hUK6i4G*{)9FF^Haban}JXztyWtVUf5M#(clRy77$+u zuH18Ku0|?Qda_bivh$5M?tIO#19sl0O3{i|L*!{{S3N6$ZH1Jju<+4&A9s1(4_23? zDr$Hxd}$A+z0i*kN}P&xVy;r|)K}g2ApRv@kJ823-&)8{JY+FA-d&TMTQ|)du<^x1ZJ*Hhz(0Pv9OkN6R0z>%z z6`83?>YopnIdv!C)e$Twu_X9D2k%M3krwrkHO5qBWiscWV++v?{Xt#cPKP!Bwt6wb zRP)gnIw~LgUdJ70xTEOZ{jDp-LTi%2V9v=RYMiG0iAwQ>zDfLX_-%$G92uvfkK;(| z=XWy*87$jGGfE2O@d;$kV9-Hn=-Q0!psVD(2z4P1Qt}y}OD)J?c%k~I2A(g|J;qWU z8+F`>r;8G|hgJ_RZ0y~snirH$@L+Eotk&me|1jZfjY?KMG7=BTaSQDXsZ8VWGxWl} zFU*xA&dZt%wRHk(^0sj;M?&4{8}=^t|09pc2q)VNCh4Nr^KB)kj-(4MR13Gfl{&=( ztm)9NYI4sK;I3pb?E~8;-u0^{tks62J+!_`_>ichqUU?XxSHDTAiM%Qy*d-I$C)|* zcJdkhMDu|1KO^Y+AK(eZK%S&|*8l13R@%YQ81b5Vq89k`KDScx6Ukw_BbS|g!Yeh^ z3-K(PaIc89q*gtfvIt)%&uQlGiF}QjC`a*KBufb=jaVl;t#ji>7JSGnJXup}p{5`y zn)L}TE>*o}7E{j#cjgA^H(AmdsvS0+jn)|II~tK1h#)R})#h^OH4T5wwM3(tC{5~< znW2l>g8ixhwDOwMF;)1I3#sFdbFn;n~gcn4yMV+$VpGr2|*u+vbgFQ_=V;Gl1CgRNL% zC4R_f%>e!`0i*DrKj}@i@J}D2j66o_Z2XY%h?#>GpOv{NlrDc(E>)5hjsahmNxAQ= znz*z02^yEq(2wPFCEN>-$c{&4jD>w%gAo?7)9gfdwpj|Kj}k+xWvP#_M?!mn#GkOA zx${Iv&S^8;Svj`&O2!`t)wUmO*TrlvkV<=rQ2=183o4(lGV04QGkeFS9$(x$b7^1B zBI#WN`4uh9-vC*x4XvysIxB^HM3)iJVk9(z?bT;%rz9ZMA3h@%4b&RGsQlZp(a$UH zgZk+27W@GCh@;7GMp^#WdsU((@3)eEay|ig{osE?-88+{#28h4a#xXGk}6Jj(5{Ep z&fS^<%o}@APl`oXOM`9b4Pl4sU@PUHdPbn~}{?Ac?!;}^@uZp_lcSyUi6sxyA z0nKU+vM}l*=*q17Y|qxxZD6n=?)yoctdvef0!*c>a}OMl@-@Q|ObOvV(GW+IeU=74 zWZy`%y`G{lAFp^M(t-nz{indMrqP&_wd_tgwYUx0?LYTT4$IuGuv*aWyv*JI6 zt>#^*-8p>C*Ny(ejM}e)Ba3q)J4so)T%{qrE?OJsfo&y25DRjQpI0^k7p>FXZk)6V0nskMME*7Q)78v(#Vy*oLi{BJALnLAgFxSjAc!Fqqjx&wb@$WnP%oaqtsti z(w%s#z3$XK&4e!r=yy&0O*B$YjIAI)e@jl8*G{QQIYX_hM&h;bsu@;vY~Gl_OTBLb z(h>RI`Lj?~rzfpW%OsZtVmivey4MZNi`jyoVSjYw?L6n7!s9(>$?JFp#l-zJB`f8D zHR0CKYx<#TElq=#?y4+91E| zMWGp=qW-YFoBKr6(XW{~{BSOX{0-*}779bBRXm6hW`adT19J=B`f+}%><6iXx{1K>-xbYz-D7uYH9@eL%OPJBs768;+cz|`U~}BxnZcr0HFkM4<#~h*sBww zGx{mP{!HOs?vWYD!Vy*inn-WyxF;*E7MaA#xvR!386!Ro5pAo+--_m{Hkx+iqy;;b zwMu;TjM}d+I2K%~+?&EI5IAS7A>Y)PE1lmMzNX0I8rBYjWAq_A$*Swf2Cs>dM)-={ z);Wt@xEY-*u(MG9G21EgX{Kj`^osqMgQ{nt`gk=~dJ9~Vq>6N6F9qW(I{qsPx*uG2 zEEjr+>eYI0Be*t^ka>#`!y?Lw!A5&xu17`7#sEya)4_wcs~gI(S}45FQ4CkW*{Ke% z6RaUC>G4O^s$Dg=p5sGb4BG zkw{;mxp>iU3)x>}4R-t^eI{D#LM$X@yH-lt84IX2^h(rljGI=tIXqTUqp~NbrGNJ_ z&|Ik=zENDQA_%IkV`;&SQM-q+)%Z7bF+G=2L|nnswo_hg()=?Vmrcfj7|+~^r)fK9 z(5B{~H%o-;t<=K>Fw?Q50b_%2WpBK@S(JJf0=~Z!3F-wwIJ#>{<&e%9!x2-ZP~Uz8R3#$1EfD@1 zZq-5f2kG+Wgd2Uqn*h+8>R{A5@Lij} zlpzGM0+c*<>c+OqpSM=D&XJGYSN!ZFPmfn*hjnKJp^ax=LR~NE*-72OMA4@9$X4c; zAJ@RuPa^!xnL%`W!Ruelsp1ZaOukCou>?UV>{c0FYzsWOV($gXDfFehXGrE{aN8aF zMb`n>)YNB`L&?pYiXhq&X1-}?Ah^gtp@R!*8H zcNJeBh5jzVvb_+}#6!eNaX%ZlN}Yx;EkNGlx&{GTj~3@Q*@8`6&ViWjy)C^4n%(0;*WPN*#VP+r*5ejg92Vrl zA&hW;($C>ecx6Y&r`o{f95ap-%MUFNf1?@-pcTym8VFL;%`PE#B)y*O+Kt%p%K^IM z_DT+sQOcTuP}lzDuk!%zyG3R58kbG-1`*poi^kj?hHXXYGC3!P-H0N6qXOF81{8qGB1f#~O^FX`9VGM(DBwj4xlic&c&Lc=Wn0&CO~8i(DobgCO>CG0 ze9@mae}vSt#A>hKJM!G&kA3vr(yqqZL~0wehHe`)268(7Y}FU!#S7F)QKfi>zeJML zEqo-Ks6zIsiogfz>aZE3>+^$$k^EBD`MYXrKO=~I^0uaT(I96glX`3=*z58Y!#6o8 za#z8X6yP@8y?*tsQ|Ov1*(ujGL*@>}pP?U&^d)S!2!oOJ7L&FO=tXxd^`;_jR1!-c z8w_%lNcORQ&_UT{)Oqx|YKN3)&%RnnT*?JlyMTYuPyTh z4e-TNOC!wu~_J1~S&_lD-z-VxO0NBQS!HHL6 zdw$_E`grl0a@KsrAskvPc)njw@~CJyvymve_A<(962qpWxuZ|f)#F5>l=Tg*bwx~_ zpp7}u9K>mBHM0JD@GtBd&5gZoOz(zbgs+8`$AN3A)lE1JV%IO$eOarm(#wvzr^xIx zHqK~5%cS61AlE%A7AdUjCj6H0Cs%Ge0oUE<8mNxMfsgtarrjl8%It1xI&$!g@ZVkb3~OP|Uryp$heZ-oqg?kfeBF zoImg~L~*eQn)oaW)J%-ckZm3<0v!GdfAt9+!27b}losgKWIQ(&Z3xkj#}llKnnLf; zPaiDMJe5Gx0sXPZeXK!=C&n%eT0pI)O_xp4KSKP4s?7mdVLuxGDq%iE9ITU<6SU>} znq_4+lFz=-jPNA5*R+$VKwPV7@7!rCD`kf>-i9uAogqU?gA-6$CbhMKEHpva{Ql@p z1I9%ZaTjn2yxh_6D}J3&qOXq~ZU zoMrtr?B^7GOaALAJxr;xf%39A75~@!lurq*eYrv6{E9wIS?*KzMxD*0uDg(ubnA zg(v?WxSb5jk|?+>q2OdXA6D`3)1~GMnbzB=6yIV8i+z9xR}KnL&D80YJV-6CNQNK) zkAeKSLNu2P)R>wR33#{6yvv&(`A&*_*`{#ZeLbCWtzztMljBM$O>l_so&4BpH3?Ul z;ygj3^u}-ENtZ8=0uIcF>4)D+55JJAo)?gXms>fZ73^TH0A(86n)9Esx${O{+Z3bc z5&Dxcg?bzR=)o_&2N_6P7o)I}@P_v^IZ)F(aoUF0v5y~mMy41$GJ1ahE)kgTC}-Wf z?mB1c`Bn%O={}~Oyj$qC&?tM81Z+KO7D&EJ?(bd>4XWkun;h?bhNfYe0P$`P9NDr@ z<@sR5?DsYh>gul}`Trf&`Cuj3$D=KwF&C(}z~AIsvJa@#C-Y6u9Ys94MkNitT+qHv zdv5^Sgbk$&!Z$8@lp(i#oci&pIKh+2Q(PmLRiIX*EWzjgzq4mv9;g9Egr|JD!>=3? zP0?QSSFq}EmUN#`4u_X>b?X&kk0GDKE0By8wBE^F_2Fe-PzGZ~a6~;*b%2jAIsE5D z6+dj-4ubdbfBZ(ip*cWZPFrPA|8S3jcO^#}dPj;F7c`B~^I$h4dP+c~*Xv7_I+D-F z-jzQ~zI5_$EY`#7T)TR4aNv|;!Ve_W**_a_IrNy#Y3w4bE##Z6?Y$t4xn7{Aj!xkW zS!7Shl=Gh1n(KzNbm&+Yc;Irrn(ObrM{g+9 ze6asoz9}lmiJ-I5fe>?0E)1T2?-g7%?j>%B=BCOBvxj2GR_?WTn$ltZ(HEdD-7%)( z@sk})XBXk6JOP+{-GwQLdJ{NgD}-8P&*nC8Nc4C_2Z&H?g_v%=oJzvgX76=}=pkCj z_2wK!UueSP!k|B6=(nSf0bX1N*Z|FuJ5F?s`YL#6kF&YiRKkyy^LR?Y{f-GtK#ACWRuHoU9 zm;4yG??jd~#gp9GSMvTr@S_?hW=^v(u%1s49%LV~?O}5KMigax>Vj7v#G2OjKyBOk zlJTuW6BpjWl`!fD5#VEPOt7L;vYzxfBjdP0xCkF-pE7{oxpDk`x3hS*%&{3M>^xIs zX9Mew2gI$Ke&uF4EZ39y;P_dZ>TN^UeDuE(VI||*=a*g2EdrG#J9;p|G2+zVTQ(6% zQom>g4d9HgOm-Z3tI8$L#l@@x{0=Sj#UoqPh{`x_? ziJ^Ud{%j*MOB11o(Kf{b#%jw{B`|(>z9?mmC~Mt5_`J6(({+3wto?Bhvm}Auh%E1~ z+_dPR)xrCPJ_Mu7@nKfHTeO{#9(;%6OW2MFQHOH}i3?H_6RLn6;AVe<48~;BrHRT@ z(=qPpILRiTaC<8|@JLnfsCT;0561*h4x#!(Ib`gY!zTr|hn{jp8?;ei{riSG^!fbh zlI@o>jhm@&nnUX;^^;e-iGx8L?|O#aK=@P`XX_WgWrIR`p3r$ZGXLqM;^WFswnvrD z?C=5sGEsKaoRvkN=x1hQw?xYmpPvbT%MaAUw5ku|59GX0Y|L1cs3pJ3ouy{&=nl0T z4=Um_)Jb9c48Xfl~t}DR7apc-r z=-@2z<=fHR`I>975-XlgGxpe;_K6x8OPm&O;AY^ObZLv zrbTP8M%%79jDweq6s9#HM-kUTGg%xH#TB1_4@C5unXLfvhqr3eVynt9T>HZW!`dat zXcB+zJ<2)ouA4BKxGRA3sQ^BIFOf^bc3{x4G4+dxA=_*Vkx{+&Z|!1iXSbKD?7kk2 zOJ|8?9SSFIWI1-?oshYh8e|B%Cq$*->Z@vbv}$v4LM6qz2v_?RRtD4M+0=%OaZwwQ zVZ0`3o#km?t@=WL2?zA-CmuxqyG3rUq$k_Q6h}ko5inQ_tJe`#c0t%7CL`?Hx-IPK z<5huq@Gh55nYs>qEmd>S&oITO-d0I~TDXxP_rn@TFi$g4!hP#faeP$AF_AB{FTCux z=d$nJ6hc_;+2Fj22R6*{ROUNq3{rVf8l#lwzA?_wbhrh4#}Ud)VAU;&^9ka>0R$^$Y=Z-)Mfh`G8RL($cJ|w zARhOoe#1yrl%s!H22&$r{)KBMICmZDW~LC6!lW`8&dZZ%q}`0Us5wkX12=e*{b~yR~tJQhpbHd|>E*qsb?;@xi)-&f`I0%-0X;rNy*KmW- znRUgXVd%^Z{tT2iOEmj;+%d3_IvqZVxGy9C!mz(aC|w);r6XH*cm^#}8(Xx%H&#i< zzheKq0p@cojqx1dyA~HPZVH+O?$^SmgV^PNu;q7`Q?9$FIywQ9b<+)wc8*G{{jx1I zwp(1c6KDn7q%QwtriN&erO#}Lv4Seu^WAAsvZ|7KKQkj!k5-&WXyNXl-BewVBHnu{ z?D0JDW)qt#NW;rP)79C96fN2_!AGt)by1V;@WwdyZq@Ms#9$;zpGWk?7bCu$qCJ=e zh>7)v&0fC2nXq&rd}@}eC=NKKi==7%Wx4W$7DjcHghZTYWxk)g$Dg_e(;DCfM$JLbOeHOZb$D%fwt>@0O&BCaWzt3H5Azt>PPgQRQ zj6^K!qyC_tuGr5|t$$ody&ZM;zq~1p>98RfvSA@*n9u3Z+s7PL2PDAya+7&ucG5T# z{DLT7jF_$(=eUYX4wLHPVPp@_>tc@jeZ+x?i6iY^_z;Q{>>IwfvB2m|00n@~D#AR>DI;dATF{YPML|snw&Nt)jPTEZEML|)*(;#pCVMx{(Sz=z1+T8Ey!zW&D)i{(C;F`A{=5AtmdAg83(WVV=?(oF zof&SZD&FiG>3Gmqg{r)*xd(4kpo%e zJ91}DP&;P4k!71~(@s6U>Kd&moe11h8jQPUcokCiLNmd`PnHn*e#p;pMau4d#012u zzx+}Q@cJz0+Ocilnbs74jx2?7v<5s2CifAYmjLAn;8V1=_#|7OH?NOsgU>dNc8n0$ zOLLycmn%=j2uXcZMi#52KIhMi1MGVN%zJLaLEBWrpLz@KrcJSgM+3?B#%z@6VTY`0}u3##p@%%)In;-|zx7~oC0sG{Xc#+jOal|18%h050 z9>To~#FsvvsCd(WE36K-Smhe$1AFNX79V@JaSV~9V+?cTeI{6}&>t_eX|h#2cHo-V z>FSs<)7KM?!gYS7<KzjgH;wb>8@v8aUB$cZuDO`N$)?X$y=Yg|bK~GmH8~sV!Lrrs(B{nE$(wM2 z3A`ow>Y!)Wlp>oM_$1Huc^3O7+Gr1R?E(K1PcT;paR?dAsjEiQlSRwZOGZ5=3TDX3 zh{$N9YzBDv1J_(I+6`&Jk(^l4(iB;9CbbqVZb?Vk}7U91BTPIj-O0Ad z_TrqU&`cUKV1PzQZT|LTK?J3q%t$Q6S=mE>x{eS$!lz_iQ~_263>$tT#L8l#j5K-f z71r=FUDXS?e4)zdtUK}oS!E60=N{;QHH%=zu71kOX7EGc|5zbZ+t)X7Z{(?~6$CM> zk78|H@57Jyrq5G7!r*XuU;x`#tBm^?wrY^Fb&U1KrJKCM)xqxw@fR>h z&RsvYJCmc!55I}VOi_YOnB(`c7eix=v!*oqrZ>*~EuL?z1f-06#ktHZv&iFerwX%CkdfDHdWwD4>>u=4jYl)*9-i(pcW}nNu3WhV zJ56bKCVYVO)XTh?`Oo^5zduJ9)F$k2_q;osw9*X4JJ5w|4^rYt*!U%_wm zL&=2c`oi-bE^#tRGT6$rtQ!Z+N7K;%v_#SO?~Ss4nlP95kxsa-LeA?V0o~kH13(w2 z7-&KgQrBK`3pN|EZHSOq!Q#bJxJP3B*Qmw8tpV7cKI&=mVm5b)UzOTr#guS9a@3b| zc^Xik#hG8q$tN$tW{V?l%3P|j!`4>2FwMDdni<_k>p_1|VxtsYi_sjfVOh8Y$0kPT zV%=< zxs61-o>5O44*Arz4N~_MVIQK=>tE4UpxE~uyWT{__coh{a>h6MIHBGa zznA|kvB3UbkkQD0&!Pt{R#uQ{@~6p`gL+n!WacPZ5G!+IJ4t{2iIgQ!GyVSM#7oYe z8(g^txO!j-U@5AmK+3ntK8g{q8CoaV|H$|qal_}Sef0Y}iiu^V*e#SdA7$7w#dIxN zZ^Ub4th1=-ITA87G%g52#>Z4iS8^D@r&M`msWYP6(*kO2jX<;s$sQ!ikaL` zdb%oJ4S8p9zv5@))nT8_3xc1rehI==;~y!fTr$S6&{E2^n`nKT-(bf2jY{2_r-+7KzAT zT*vZ8pg^d5f#}{Q`1pn*X5laJu}t{=GX3j(~l4; zH))f=E`@SWHpap0xl{BXb@lziQ&I7%4Z521`E~c==+0|r4GMK&#chQH&*jot!Wz(6 zP~m}SskUn)@A$|Y;x*7}@&L0m0S(`*Ih!1ty8vA}9M|iKyF(LH{~oOg;zgB0t?H6@ zkWW2n`D{+q-G~JHv3ZyFa*x}97jK2#INXPBtVuYO*_DJdcw|Q~ih6jO+SYO`?`HwlygwSU`figy^*-?4Dkxr38P>i)@wBjO+=~$roL-`X z&J#cXa1y(_jb9xRsML$2oB48V#;?GHZegCgX31%E=78ry4lc>OM7EryZVTTA?oH!3 zALBIAUnYny1D`_BN-Nl2;%UcmO% zO~P@T**jEpsL?@k!jMoYqf;GSn4J_7X55t+_ZgQAbKiSr@BQ8H?_cn}eAasZjvcq69Xpj zUk4K!Ssx66WV4Y~clnBNg`s0py>uadvlxKFxO5i?#fVPKQbH` zXUre0`Z*g~iY+cYg<+(VH_K7=w~2OfFZsV_`HWSr^y5T>&E0m*(p{g};e49fu7+=p zk2Gx4rfD5*EF?$PhZ9p3)OOy6#r0{7HhJpAfSG)5B@}1Ex4%&B z4xi~)ZmO8({j6$$yL#JXaFHtNM%iy$IjIwmTa1Rkl(R2iZie@r7V>0vtc)S3I=s?C z&%FjGYwAwd;G;W9fXExk^ywpCL&|Kgz%@o_p$SquS~V3DE=NvrweNdC=D-|uhAMS| z{;d}$;JS|6@h^45*m6(MR*6KgChO}QBylLMoIL$fxn#SZAw+Q{qzva7t5Ggl!n%*u z2G&@LsXzG(5XTheGbd_};tRyZ-1xN!e?M&b9IRqxKwU=A+*+TNK?R&lBn!dX{=_xIz1a&BezU9 zlf=<;@XsKoqi4av*snV%uV~*dw`VOQE=J0XHWLP@njZe=rE9@=bx=O|X);OymX!Cyio+{-qW2pjdC z0ZC02!Pk{l=-wi#z9ku74IF_(L-P!$qa}UZJ*BjfMH3Unu%VcUlVTx@y4ZJ)&~`>t zAkCvtyvRhGv!rV~eubw$)kg|EH-I)O-vR9RQK#GLoYF_GQvC*Mf@<~;=sMy6XQ^j( zUO~er4HCh4-v@9KH}k76MX_`TZ@eUP$caff45gueUSS!J0;tb@%I{J6H=sZYv40iN zEqBL)t`0K(&Sp`u?VI#g#aYye^Icvc=b%-M{5a%ME2i_tkb4m`{xUuMKyi29*v}irPK^O~`x?-If5;w5!R+ z$HM;L?uh=la(N%e2k2M6!A}X_k7?g>EKnEo0CcsgI`Mr`gIw-}61yRY z<4vw?1aja3iD6khB!{DrY=S==nP|$zKewbNQr>ePiPc9Fr4C((Oss$%QC0*pH|pGsIB5AKh|01t*8QEo7dwc5zjDV_2FDw|ROL z5hO$ZB1HX{6+52={9B*Z(e= z@QK`lE#Ots+sAaF6Ui@%2tYpqC)p$9z)pB8MEEYN(+?otOR&9_Ej!xY2dcQHjU!vz zl*S7FNKizcN;mWx#Lqob(eH$o72QLT$6_t=GmLDM+o}!>MhZ11ouVn|Zd35((L%!_ zUMN9ZA40$5H6SP1S5p*sMnbRSDgIc~@5oG%q%%_?qH0k6;{IvKk)~C!@XfosLEecE zm%1_->jXW>TkHDZ+F97=Ai`L~W*un1zJ=7>?)^ zsIi)@5RpKt0quS9)O-}bRG=(-?-PM*_6|8&jTrX6U;vj>vflWG<{BI%!}7&zs=dBj z`{%_Kj?CoRs=oc&fE2a8qsGP76m%TRV`pMj>R5b_s~i5&X1Z=5r$PDt`v}fpw&3@7 zhrp)eRqI>T&aY9!m#w0TQv&HkXB3xc_?@pU-XHmh8#E1XUGQ$wzBa~KLA{_dB5_S; zbYTJc?`lmaW3fr;V0=zlPA;$XTjM z`>q|&l*@rFAF^)y4eNQ9Yj}6UC2ef^8P^B0h#hxO@X{>I&Ku|IJ^5*pr>=z^r|^hp zskZyuOJ4a-Z1D~jsFdPW+)qi`$*S28L0d5urgacP&B&;KUe#zK*PZ)IfsmLdzuI25ru zSZ67L(`0Rx#4yG9Wt1Y#{eCyiL#N95>MyZW+S=B!vTH z(gb=$4T8_n$ph5pblJDLnUc7$3xsDkJIv$+Tp})@cC(+HJ|U+;*Y(n<*}UiFOpCF<9CYs^WeF<`FVx-x?!GI-8KYkFDGi)Q1e`T88SD4d zDoIa9-`=4pNHC(GCym3iHhQ}LVM;9MKQd9HP0nWPJ`h(UbI@ zC6R~C$@Zh~k4u%w(nYk4T4Hyl#b~D!`#@L52Ourpa<|<$>!aJV9Qbm%d{HT-OTIJ$^~|5fk>)r+dwEMJKDQk-C1&>8 z&oY!JAC;#0xVv+dB%K!XlJHZ2yAmb&n3Y(PGEQA_OHmLvUsd6$WxwAa6&NK(_U6CK za`KH7E|{BYM-F$L&s#v(iMLhyPd;3U*E6XN&TnI)r+Y9>aD!wGbt z#3A4C&JF*7`>8uG<&i)ZCD#-h-#vs4?i?7xTn0+c7l;Tcg!ou#z2-0BGecpb^LC@? ztM;8=Nub!e_j5_HNo#76=)|LuI!?8`N756hixsw1H za|?g@C^Ahq@y8>$#IF!ctxutbberrNhnE}ToE3LlN$Fht^t4)ShJS6c zel6%KJ%Bjh6du?r`OdF~QW?H-*09!s8T)o&-Mws+8mK=`^>$3#^H^{3DJ&cMW!$NM zyviFsKQ5&Az6^S*ui#i$_AS#{#z*j23V!u!JD;rr1v`A=odsx-L}GmonV3)QOGX17ER+Xx%uks#_a45H_+6 zB5WsK%9Hr|J^{3>Z*9M0W>@K5`=O{$y7?-TqOe)S$ynX#o4TGEni>2w4;G`PhIe{l zyi>fdG#oUB2F%dP=>~E{donS6jw}Eq?C{s=k*Ew-H*E^>Z5gpK2LEa}si0=D$WBdY zBHLb~Iu4FamcFdSZ$DvwAm;ZOmS$MoPGWk2aeY=jK@C%IW|7Iz4T_n_dUVgH_vtXH zO!V*zf@QqhAE;|G1atdM`a&}#6T3@!8miLzbie<2DfKQ>>`$+n+ah|*_wk!BBoRrB zA<^2J9>YU~vzc|j+JP=;hD9wiZL*nZGfz;)SbMqikkEb7hf~p`B!8`6G%kphD7c>E z%oMR*O!#Tt8r*JtC)@!LDMj`YzIs{m zfi`mD=zr}+K9<8b?~-5V9BK5a)iG2~jX+znbe$(Q3mNL2qxNv&`bnbs)K%=ez%}&4 za$VhIX<2PCOJ%tPj@Pu#7+1~U`W1{k@DLuXrZMk|+=xT=F&rYr@%Upbpw-#Y+N zf2pgx`7R%UjH!kL1gqQimuVv;7Doc+;;c%OmE%=u;lx680;K4v$iZkVET>OxiZ{$b ztM?BC&Eg8L;SQB(7s*D}kzd5dLsI@}V9uyl9Qs7ce_UEuOkMZO0Z(uix1>rM8@XF- zDGD&cLcFk9ByC=~eM)5gD#C&q!|@j`P`+>(_ZT+WQ4_hLb;O(RX;^RlA1$4^Cn|U* zdYZcwJNPxBC-S=~vMadVx|wCfwN?b0aHG+{Njh552FWG`Q2c|6O@7L&&95Pfxedz= z1^&93=h?4R)Fi5w*uYJeP~G`QmcyGpG3j)4uMy-kQ~wYC!wi9w3z}&v?Rmw4i`Lu9g zifW!u))K~TkkS`}U?(SudCQyoGD&M8(U$F1^L}Fv#C`*2PCU2KY*D^Fw(7dn@J;_b zi-ro)1rcEd6Q+YB4gepym*!gor&Cfg@0wVvzUE-_WR~sxsVbp6=Yb&}-^d`$k^ET- z?S5IZb+dMF4!n;~>M4=n&>~S3x(#tuetpajrH=sV#OexSKIGx5|lT6UZ8KT+&nahB?n2(IW~X`p;kgjMTrU zhwv)&2Wy4B0qFKRcr)_DZQK?)l{FICm?bO~OL+x}qTz@|J)E}3zO{2dvHUZbI%^-) z`my9LP|iwPnpIZ4Q4+0C^lrrp)~c#z^qVMNP-N`SIDOzgdi=V5Z`Az02ep>1a`}J# ze3^XCn?SL|SaaZ`&T*7KwNH41J5R-mrOyPvaMBhiR<3$8-7KWPBea&(yPf;(tSjd} z^?3t3&y$EBIDkkC0R7HNlYWU1b^m#+vV`&&C|yX-glt^IBh%FmiIPp#tO4ahicM3O z30=Y20I%Q5*rF6XJpePICF)o=+=rOVwTDRZjI#bu<7mUDh(3ASCPQdlGSM`W+;qzb>K>Qd#hcXK zh5tJd4aZ1QmJe6N7c@7wJuF93K94K^I&Fn{WTgcp25ilWWf@Q8#p`Dh^M_`rLu+|7 z3xIi7@MFK^dg)ng_wgX2K|T+?5)IP*#oEd0i{H%DSNf^P*`HXecrk`c)%X`a&EXh>&j$eJnlV3$ECAhrVkcy z&?l`%K7Kw7U_19nw|vU`BTL`}+;$jphu1YX74wailJkJqxZPR*Jkht~LoX8AB~vCg z%Xayr)RPczwtVCyTTHx-1{{rytd_D)nPGf^$l#T)or-=rBrSBBU3K`Jt7CjXG^Bp3NXSypPvo_!s`^|Tq0Hq}6J%GxPU*1^ zUC&N)iTMWRs4s4Y{4{9|`#_xFf1r)y&IS(`Rc`zraBpde#mL>0tQU-5a)?QW+1Q=? z@;8EZ-Yk^bn@Z0AweE&_P_~e{PqHK&ygEu5a2^QyOKmpxz|Hm6ME~mHJW3qat=!p6 zsyK(30r0>Ec!6}LqR1r~7TFJYL>rQLbKE`WezL63xyJQC4mmxNX7}7+@YE!;h$FdY zzNPwDyT>$D&H~NOdkMZ<%IuDHDo&M)9f3I&X>iWSOU#v8gc1j;Wi_@ z!UAWD+c@?39~H>X47sUhVk$a5S-ozWV)?FS%F7eSW+38aw%Usi(HZiRZtn3FgC!rZ zNt@*C7|w0`@_+Z?bNhp%{c>!Lk?K)mk<6u?gem@aj&9X!A4a*rXLqypHrVEqTwQ&AOr%Jni!6KeH=2#85 zd%T*0?6MdRlM!o{QncMtZlWQoxj>0ODe_{>)M;N-aswWl{Be@D?L`q)`JyYA%9^4t za|fmG!=AE;o?~@dY}5<5XOGbJn@Yjk;HE@rIrK4nC-o&iy0LHmu>TXr70^l}9di8P zwL!|AwiEK5Sw_q2%7G`L129DD_iD9vW&hcw3YsnL;@hMaDrz-<`PizNbQQc6jX*!_D4DMT^R<=K1>B5rxTWQIoaBpK6c<*iiH??-J#g^8eOrEgpA=>W+UL1V~l@t$uj=@$OgwyYpvbO8#m&F1+UT@_m z{ETg7#*IkwA2YXfgI!VmJ};@|7o+hfZ+HrgJeA*xp`nlVp@+%Gl+kuuX`f=|K$Vw9 z8cqCdxE$Q9CZ?3NJx)6d?!1n-zufhy;;uw^ z-klK3xAf~9V6v-Bkc)D40BETX+~B@)C>^?uEU`Tj@P;{EUSV(_u9&e{@!^l%#Qff< zHydsu@26s?wsBX&3|Rn=BUr6>c7wLW@E`eTU}N!yc&ynoo_7`0z7hO|SkG5b4-4G5 z53q)I`IFvhlya^+8Zk(`q+&r|4X65vk5tEx*sW8Xzvt|5kBY;RWN<%vq8Hz%nR^m8 z8hoq2B`%NG|8ck?{1jSs#Ze&8%auB&%<^RZq;>Tube zFOaOl1`kW7Xc*Is<;nHl)PJ4F!ClQxCy)D=?U(tK0z9;T29i|@Uz_-T?1!%^1=}Fz z{kx6hZ-kzOK)>oYPnOd5=gCFFLlMFK*vWB7T`MXO&W!vKBT>(-o|$2(C^VPeHk^w? z>Q2J;#CcP2EAA2X?k1yY3H)f)1n!Pm5AU!CG;6!H9f=bb-$!bzyoj{b$jjd2Tx+Ca zp&eCuQKJc=DI|-YN zmzt}5Uoy;4_ewPFzG5o6Snik@C%4v3LaaXd_J~foCK{4eHQ$0e&0#VyZKFLL!wzy1f2;gzW`yW1F`^fgku)%Tv?B z#s%XM}OQ@Ruz7aPh{y9uxF{AX?Eiuo~- z$5p!?Vj1RbQl;>)M&65!*?7$#gTN1%(Hp@VXGdt*i4=m{C><%CS8!*GW)uHf@S!X7 zQJlHqms;v6Y)voijEv0IJv6ZerOV-y43A0e(99pO;#=?uXpjabfTKg{hPYt8h;w7P zF7OJx-{lAOWJ2U21+x_@&blUL*GC45y=s*f4b*7;%;Kz3(e}s(OC$pp_{t)?wghDI zuI85)bKtN{g~=d`gCED_t~3>Yg0X@GS8+3KuHNJn%u=uxGWUqt*RUPw0(U6*mOo5C;wE9_Ts9#F+qQ(IGZagld*>!3luM)r+DW#elw>63(M6!Yy{yMp zo1@T|QqE1qz#EYp&#{WZ3~aTjSn|NPM*i1+zHX{E+6T@dGPT>iCBMLt>fzgo1wO6v zVNN^qmip*qZjUgeHEJq;{dSS%P#hZW5k=L%KJ37sgZc6j+t$EuuLG}dlhQ}BsY#!v z*pam)tF*%&tW>u^k{+Q*y;oFKce^qyxm!3>mn-_w<`!81xXJ>iMV-E(_l@DSIAUKb zL?y9s6-U0VUf(-MJHw;v;s?o<#h1I8;oGpmrh<3)D7j;gt(2xSsk-DP)Pz69ymAtC+I=R1iNiqiK%!TUWV$NT6ibfLm;cohc|>8-Nd0M5L%SnF5*AWU z!{3YHfwy2*G36w|tE!l&pM{ot!w*Zz(oA&ek%d(jd3aWz7{S~)o&^tRC9PptK=-{dnQIw zQuoRfSC{pD2JQNog(g;QZ|i9pyU*H4(-WyrcUGRyQ68g)FcN;cR~8<_u)%#_!(Wo9 z#F?S4>Gfv~YuePn#wd)q3*PxTGwVd20|@5m;p3cEWK@l?C8hT!#xLd*lFTogzpg)P zXc7U{Z?<%O-TZ3`Xm_Kr>gB}#%J+3UE7kj8Y8d~_j~{SaP@~ORgWBmGygf&Cu=O3( zmq5Dcf&`+GMVX@B%S-#Py`l#(NNNDn9f%eb|b{2$NCV;RK2J%2jCKkjVd z$ct}7;JoErB19lnbBYZ8r}GK^_Q+++#Z6}(OO>aK{C|bSo?9f#;H01*LsGA2Oe4JP z`0)Q|FUoFv?&R?qoz>wJ*;4zDh9#F{IxpWArAlgP^=C5zd>y*v)D5k2KHPwXBcpH0 zD85{)HeCEI5|@vq_yKk(_}V;n@Hq&%lIRbganTaecWdM1;I}>%GIJ~vtRJ5})p6k} zDDbF4KGshtIVb48;N2BF1+j*_db_&+$=HQE9*T&7mzEA=syD{5`}x|QOdJObrOEoX z1CjXp^-I|NwPmx3D_EEVgSr;lK@zjrl!W<%g(KedRdit20qEO0wO$nW&ekh~=l@)p zUhtG=L)ppFQi1CGs!caJrrMnX4{^mRU-Yk|Cn&`U-M#xE`TMnbaRBSF!Nx3vdnane z{f#RCG9!FlA3(Z8+bpwiz4~e zJi|#y9OS)<+nfW!Lc6kI?aSTBKuc;(;rplz0V@>@&X9cBHeiByrLW>jZ-MZZ80z+S zK5rY>+0HiMiGh&3BGJI{0spxp9C_MP2{soVFsrbzA(yyCT z$@?J4wMA|j%mv>yVY%SKSHprY+0ek-qOgo1Y2YxBM5#zu#7^uU%5{yARE6W-$j?ct zhEFKz5o0gv)t)5nt{~&VD(qEu+HkhAGn%nRM;X~EZQDdbVQbPN3RC`^QvY>`y#9m;ziihn-bmU})`($zH* z@eqEXQC)qaqTeKby#YjQZd8U$<$`{0tS{sa@f6Rm*Y#&uWY(P|J84=Zn7dp3*{DBg z8WCoMF6uE{zV}qLvYVJ;z^YJ;D`hVw?(ziuyZ<)c#C685OJqG+NznIVWM|q-HZpTx)%QX%OywloYcG*B9 zQCC(}mD4Ddl(TeS$$-`S*~r1v@wRg4?YAN1g7G^TDCa9klY@69zpaL;U8>^Bg1w)q z=G)Z>Zr-YwlVP&n9KYS>PiG63iu_o@zbDR^fM)2sw+(97(H{A`M)eaTE*zJtC^=WC z0gWS00Drg^#K6VoD$F#4=d@4SMXKaQDnb8Y(x&=vjLKZE@snDYlM=tP)AggnEiP6C z)9=^MY4?3{XCxB`eb*8|T-o91taBS=Hy7(HRjH4})67Mx(v@NWfDVC%8PZFJLs*cr zA(~H8x_8NZ+rqlFKB=OOziZ=5Y<6~vHZ-eObjA2dgpEqo>1<7N#q&y!!rc0>g{y!c zmr}ayj4;F1XV&lh3d_*bMI-7oGD|oQExwRi!h&yrF**dyQ~1B$kL&C5zVAvCH3JLJ zK7|ZU#80?YM8!QTMOh>0-WRZxT=M@K3+@{N+r}-O{0I1Sz0pKx;o3ayByw8Q@u#>% z3)kpeo1}FevWGO?B z`_d^d(;G#$gO}!yMEo4`nmlSnazJXK&5i2wTL$9vJBReeVl_UPSy^E2f`K+N+)qN< z?cxII0+!Gl+i(+ewTjaBa3osPDa9Z=$Iph1|gxKK!GLy3A@q$?|B%2I*fwI6I+4>4h5ST|o z0;I>5vH~~y-~hvyyEHI_2vZSZTR?_4^6DnhJDnJxqlEEn!^IMBWILpS)GW->VQw!z(tzp!y+8u4=z9>A$9vkW{w`N*LHx1d)tv)=SV*o& zuk-tvE48cv{8($aW<5Oe&J*R7qe%NB52h{-71FW-LBC1ZADhM4o6Wx9T(Wh%l&#n% zva5Z5awg^!jm`5A%DZ`;7(xH%4W-y83W~^8y*%b1*)>G=V(Pq}_CVjsQ(oU89r#2uBH$m$ zDhq#(Lertp-#j_y$l1eV-G3HJxzjPbsl?1vJf30(&Y!TiVl>7wh%wJL2rR;H{WDBf z<6S)PpzFFRN{b=Dd^Z1BIds>Z7&|FRH0`HVCQ_FWQxxn(j@8Q1U%TbG^nL#HT{YV4 z6Hbe%SGvX|fsCNPrbfRz&6r%d$2T8~O>HS@8$myRt`Pyb9PQF_8P z7Mp^xUERQwdD0%V&&!o1VIPob)0tOD; z&@}0{AtC@Y9f~GI$Og&tk(930JS)~8SNzTcjzoBL_>q4yaiY&#T5_CmQkZ1&Z3tt( z;79epx0n1gVZ*^1B-g{|D_-ABN+V^n@)7;wH3~nFeSDkY_=anYMKRDX-BtR3w~!$<6yg;J@Zm$m#dvLxa(OAU<7JwfGtWq-YzEF%vnN4zaDniP$XW7B0kMY^ za)l1AWmVYL@8?oc32CRR25zDq$!%VP3EsGe-N6# zc;F*${i4g*K<-H2$B<@6b2VJ|ytPE$0|nsgNVK+l=}i*TX0UQr+12>=K2g?5a>+3z zc4JAKkP&MbKBl6)i8Cy|MrAQP@QWeefwvv9h(W^_er3Z#QJio$VbKNL1W#<`Kg83^ zg)`g)D&7^yuDa^y68-~Y^lUZ1NnO3Ay=jTv@K@#P-d(j!FT8xR^wvbyKdKl*&ccZo z%SSurNtKf@_+x}?1=5G!OKqGhf^HhBmg_EESN9@|7ChrOsFz}c@zT15f^x%L12}#i zh*7t{VlNXr4W&zO7;dVM9p`P#BW93M)XQn3>1w*t`3NOP)Ug!)a~l|(Kk*|_C0boB z(j0~tt1jJx<~=qkJPF(UwgpBfMSSEq*<7ilUe$fQPh+Hi%#tJ06rm(xaH_Ol^jFKsi^R#mCIlDhS#-rom=^b2) zl>guhWJIlREW_GN#@Y^COGk}bWp=HtHFBpwjFWU8ynMLV;30X$T~smYuO4=MF+Rg^ zDe#k#OM8@2wE(>psrvS|23GG>?m7=mlZieW*xx;#5h9Zmft?YXbnD*}x58RoPxrub{sl(Hl& z=JZyXV09mCuW!hP_lj)K3729m)m7okgg?HvsZOhXu(lm$t&>zvt@edHBzT=LxZfM05ouQQ6AS*{lQL;*w0uC zefZ^(H~u*3rk^b3lX)_Gohoscp~*e%8t~qujHWRFQ`;c;#mn`cX8UbjV4Jc)4ChbWB>6T`cOpCJ ziurBXf<@@=8G1!LzG((payM(mb~s#3f#cIA%?K4e*)k+Em$AE3VC%t1k7oVO$wz9w%9W$KO{ZLNAJ zj5nXo0Y4$>x%@rxoZ(5hXpv?s&Ci(Fx-()XSgu|?j!$d0c7XYa?|DyXbVzyp6y2p? zJC;Owu#{zIOb9(0=i|Yxxi1tQ=7uM+rE3ER9c7WT+~s9xct+JG{oLo?@C+;lUD)UE ztYcQ{M04?RWE#p3tK|)1yJZj$m+h{)pBMqnG^|dOt7cYHZI=?iR$;R@&H1>73_6+G zal5^1Q1)4!43389sqUXECfRaZ349I~QPR#Inuk+$#P`1xtHq*@CVbW4^3dqvnNE+} z@I>^lDU*}UG*@T80OzS@VgmYB*6ky_kM?NjX@CqMpCmLP-ye`iK?_X%KZDeGsU!S! zfJ^;yK0+t!raQ0y!2I)eBXOF1(8xf}iP=F6ZB-M(wCDv!7VGck@+YYVOyy16MkP6V zt&#%N=-Q}I(u5Hjai^R@ONeLuimq&+U|U&zPxw1qPOQGcPuQ%};^qc+ zz9Cr~x;Tiai=$A_)PgH>bI4Ni6z*KD^FXm=tB#xrov1Daz!y3V#Y&=lD$+3q8w{o-D2fN43D989MvOa7s%&7@D2i_3aj8Kr)ZsK-7IAqq0H=) z0H`TgeeMmPM2oS;@s0ib%O5eGPONUIN%r%BZ>IY*9x{<=&70Yl(U8uHF3UN z=R%Sx1c!_91=8CJMbF-WFY)NENEH9+2cEvN1qumvSumo-sgEDJFz?J!O@bY zuhgwj?;^Zns>XKY!JT+W%2Yv1=+DT4jRfo(sWL?pmGdf}u~sp0V5IY#VD%K>EPe6F zleN#JRD2Amd2^$b;RSmS%73vKv1sRYt0MZ489CH-z6DrCDJu~-LvwdfKVMVKQFbbY zp}Ggy`#D5m(^Ukf-$NtOO8mZ9k z8uXp^*Doi9PUz=8LlDtx*Tq-MEXTu&v$70N&tc1Y=LTw`;($kPaMtqv&IQ_AKUx+6 zoezP@BPBaXx8iY%Mj%!G$?S*d^FrO&Ff7uM6Vl%PfD3VSM2n?lRd49fINCMqNrF zfn>_?(0TI6NK@i4i2s_z+>5yD6OsM3tXpBP3YO6L-Evic8a?s?m|ick)o5mqSgMAt zg1~a7jGABGG{Q5D2s-SO)ytTw1KQbtb<69LBuwyVi;7)AHHSK<;K#Zk=l5>hg@)~= z)HUWz<=3UEQwphsOHdrnxhfv8NqS6}glpHgT<0Oe>lZ?C(Dac#_!s4_i0#O>h{q(DFSWx0d)fi&udK5#V^ z)!rS}-?_`Oui(z`YGbW5Y8$`)LJG#O?>O(#@q+=b=uJ(4LNyI@{dS1Z8ZeE zJWDt4Wxw)@ZBnNkh+C$U-yeS+P&!q8p+6v?I<2N0dXv@c+s^(kjc|750xK}dqcF6h zotcC=KM|c+23+F@GoDf8olazh2FO|7A7w3u$#WN5?D`J=wzl`sOoVfo+1la5FW~wu z<#+3@bGkVZk~PXr!*+@%bE;i5M4nK@Ig1v=-bbDm==l?+!Nd;0kb%>I-gWYe#Q^qZw4S z{cr^qPVdc}9q!6ZY2SHk8ncnWWn2Lv33aGX zh)zuS@_Xfx93|CUt*p3A>mzTq+v745wI&#$SC=JLY`7QXu!pp14o9vN0AJqx8VbKF zs#JPd1=AT487^qsmC1Zc0E?s!!Ya^aN?x4*6FGsZ1Fb}~b7(0E$qjDS@*KH*7KrTt zM4`~!QRcCG4(sjB7h%}b1L%o$YVHon*+ONN!7&}wOfvr8Kx zk&o+-Vc=6$>wlZ&5jlOUE1%bwJPpCt2X~6*%bp(@=KPye)aGPa^WofUq3DfR4XSsF zq{DCi4q7-Yb>EoQb6KET6!MPopiC%H7g)P8kscZ1VwILU29>o19U0LlWxYE(ls8MI zZG7J7(K^ft@EItG-PY!EQAOAp(Iu9Gtgo9t>TNaex&-{f(g-kUDH+-UBl6p!aMJ;a zw#g17j7KadT%!SL`k3873yliS*qbvH!d=bFm+oXf&~1b_kEP&tne|Y{urk2I&=s6o zwc}Zz{<-3-xs;ap))pm_Z#8~3RxUPEVf(8eC^Sb2=&Alea}Bfgy@^#a>vMWzU&z&! z{x!73T-%5ciJ+ZP{@TTX*1D2mh=qe=W2*zlPoB(o*vAuqbNt zy`Ee=zYp^sQo1&(cbM!1_B@qKwr0^Tr!aP96l`doVIxZMJM>!dwcJhn{z3?3)IPW8 zxD;44VtARu0O~_vlNVV)P16PVvwTD;5*_S%EiP#_!SGG0^c_Vi2NU3r7w}xM*K};e zY~=lM+8LXwcl<(%flH(M7~(B{@^Cu)UZ~TfCM_3~d{*7%GefcOi?&Rr2D| zFD%Ame3R|SPW~#^HyCrI*M8n9pj= zE2oigY^P|oWT#pNIW#Nh$5LCObk=_+K}qcQNYyS0-w^5Pi$bu&V7qkeM}1!N2xo+8IEXPwXY+^mwvuFnOnV(8sM(bo`$rR7eE ziSEJg#H)bEEJbium9ff9v*5azt+5`6^UsjPJ!e4bY=cWhg!z^eyvhCBZy^CQR72^C z!j_%?7kO{~7xVuA|4WomBU_Rh>3D@Oh!d)Lwh_Xh$W|k9I+kNNp>5{*Y>{$GQ_{&+ zQ&JOQaxBp@&r&L)Nu>of?K91kso9t3@_oMliq8+<-|NzJneFko-*30;b@T=G7Va(l zq|!ySWIyHvRkkYjg#Zg@q3GEH`AByP;Zlrv!n=8WLTG*)wCdw*=?D*Ws;YK_Uad~Nua3}TWJ0KU}i=x+t)N>cEezsI&?O^=?zevM~g7+YKzHX1WKdd zWKe;{9^?amkB=VP`4H!9pCJ9Q3ioZ1jlx{F^HWjkIBKu#CknCPp1I#lUlI_8+)?IZ zb|A5dhN*2DqUn#mNhbw8RM=Rw^LN>kz=&DsMO8^EZX!nmTLvxqjsI+``Sz|=+9|l5 z$A8;Cd4J`AXG?Z@Ob`1+p89=c@{|)?<<`_IRolb#F;>pRnYMHHAALzJfr9!cwAFbu zH@9lYc2x0CK!Y?fm$$A1ZCpw@t2HiiDAcU2yY5-du3?|l`h64}`z$JLMbB3Az=&sZ z%@kcm4YtHf$mQ?EJ?<|BFFoRy2)W=k^wd;z<~W8(T-%beT=u648x+Lxv`HdK;a zo^aM2O6DHgN|!)^{tryGrXA@pfE0_+Zs#lpu@{AQ%#1!3hYhY#nOU0{1dHJ>A>>mn z4Ib2*KZ}qn2gDi&trbPE$qEsAA)dstp zx9LyU37>vLxj5?FO#cxFY%8Y<=u#cIpJ}Jo>uM=LV`NmxWYcJX?(6W~Gabk`4GYSDm@5*;FN<6+;l=)+Sto!TIh^u*>|9QDBQ0%nC$8?!Q6(vcJ3Fs1x zK*TK*+S~4@I)K-ZTQZoSf3cTtu4gE`M%{B(xu>nYf-#5_bOQL5@TQONZ7@^5tXLqw z(MLLW6vYg5C4x!u2FPhJEYzKhkI{*z79Xagj8lk$L`+LU5|Aa0ZSDgK&lKiXttgE{ z1S5F20e1rDeAx_=g%s$gC~k;lv~(b1lYjJ&r^=|3!g|NEjiMxC^bH?^4x2_-u006+ zSd5Zt5R+=@wK4O%)ojt=1H^P_jY}2q(4OI(#Sg! z#UJ7Bz{1Wro6Ia$++%BcYQM9#d19$)<}*ig$OECgEhG3$s4`YqvyWK%k{ z&+v2#{y2m4pNac%cYibL9-KdbnzXPx`hW$>KuL;>caU18J*bFi&VV*>RsdD>r9v}g z*)_PhKKgZw?@>u-I^99+_hny$8_9Z1W?7$_Jw0DCuU#gy#D7!+-6shiEVM)LQ!slH zwj2nf5VJMc`ph}B1US~HoDS{BDgiN86;&|Vy1F3gXbrQX=&O#PsJFpa-EQGxB)m>~ zm-gdI9#PQ$lk=6nYaf;E3B_oEs}l`rb0|YhG3`?yK6()}yTf*m%2^8TVhzlQcK`K} z^QXX`+MVv%UpY{jLA^u!r0|OJ#?1v`)4`)z4Vi*az8vH#FFmyfPHCy9$@WM@n0jwsI(2!6I#>e@~g z(U}5P_R9Q$e(aL_$sw6DxuBN(CSA4(aj_J`)06%@OqshButJ=# zB|OQ7lcv;KU^6}$%#@}hv&J*9bqQS`ox$am}^UP5J_ z{;jWjo#o`~MTBhC-Ua~=ex*N?b)KX?#gn7ea|WDJ%N%;^BhTDG9KL6hG-oL-aBB&p z)?k-TuQj#dxifJONU9<&*MoL+p-Kl$?{8&6TM0_oI`07vZ z;-|{r`cS*3Vnkn#{^O_)?|H4a`a%5UVO4{*WY(K>M#x3I+x3=+!!QlaSh#F3VvE8& zoue3}m6OZJmJF{-bhfJeRnomF%2-Qm|z3zR5iJil~ekyldl7D_*Y$zcbop+zHM3ex6+mRvpdqsm#>7pf@?PgVf74 zXLLTgtKkK@^vrJUkb=(ts((BUDez&IS&x zh@Tdtx><_9qqfu1Ogmh>g*)E{r*mJG_0eq}jWra?-E1E-ZM=GaPtM-HrI(D9Ca~`2 zgNdrm%FciDl7gA@3^ZspAkt?-&YU>4_jJ~uvD!mBSZ4C;hCR3Q%033D@+VWVooLl2 z$+=>lGZjwaN31@G_v;FPRSjS(x#tC7gqT`t9UAVNiU)~8I#Xpd_G8sFzyu)Kh~Z?@ z_3$qO9_8xl5AKcWvp_Ao1o85>ap2Z!-7`tsq? z=;FHDj)*%GH^Z{hIs1iXqk;q|3EgTb;O!^VVqPbL?=>IOX#v%Ik^YZ)?KYnD-3M(+ z&3WWo!sf4>wMOvSKF(@;`phoZ_Og3(g?K|2%D4-Z`37P!+j);MsEd>BID{R(^xQZ5Z#er5Q-Rsa77~Wtx~fWc7+WtBc90wIl2p?ch(-OVl^pQfOSYk|GPsqCsog-9ElqeMF=1 z-oHkF)fpzo??@B$Gu1>t=QEb{R|0b|m~W)CZD~l?C9gE>bii|UPsQ1p9>T`2aJC*8 z{&q>B8xmDT{%_n^BKk6l>>P16-#3NsCA`s1i|@}$Lk$5Sd)9EoQ#_v;g&mjTi)d&1 zfSlZX=r0ePAFr|uDMHTDAJW^6CO3{ntUt&y#7;j6UbZ?wuf~(aj;YAB`ld25?MPsw ztcEpn%h;7C4l9R#OcAB1!vJrx+8C`$Xq$X7Q%_NNu6>?6T_3L3slr}!mx;O44KJn@ z`{n_&buW|J`2e9o`TGN5-iO%d~ky_51G_2IGSx2u5V?>P6 zKWSWhp#QRI^Z)C0X%Tor(+5Mv!Uzv6I6l&R&|2xD6g7ZwDZP|xD3Fl%M{I?1)bkbl zTOE--EA`Th+&895VC*nFSFEVs_mOjK#5kTB+WzCvQ`t%VhOsYm7O`lDc*x<(~P8sh>?JuPV>o_$qwy*Bw%HIrx-Ie+e^p zv6f)|Pe~0nT8?Hy1Y;6cYe(YtPT7x##)Byc(Fpb+I2Wq-W0d;H6$)OouB0z1MTRdO zwADXmB0a*U$bYc^E|RAegsmde!2+q3r?7V*mUg{8?6h_VEnT);p49@Bo=u0RLCPN# z`1X3mtTbA?!yXTsV&zz9M?$HcHE~ZW{4R9i5I&(s?H`^oB;Ccgjv1c{8y*LBHBt$G36xHPDG0-u8vw8 zk?gn(D9^^z&=V~0-7FIJ#axSPca6&a^I^T;hdTOJ3T#2RUS=LbDNMGitOhSt!7Q#Q zOZV;VnA7WP~T%qYp`+*D<}I6;kWI_CQ~SN z7IwC-uaWm>Kj~c@9uWsFc4%*E!Q~4zW_!}<8W_fR388A{!usrs9O-TS|3#OS znT`9{7cV{5Pb$Y*hDZ4$u z|Cp+A591C(Lyk&zsa>M_ydORvA&V#nL5<|ulQwilvh6_Ihkc`Q=Sf9yr{-CT{1vo6NgINpA1O(>&0)QaeL!O5)*ovgb#csxOr@urJ)qB=(^ccM~9y>7o#JnzHn}~6W`MW!dJVo__hwqX; zJ4__U?y9P{lGT2aI6Y;EWFXebSxBnp{^dsQjBddkY=heG6mwYLW@-)m6dPch1hRP~ zr{KA;hbJMu+m64N_43m%C18vJGW>(oMzm>2lBF{`GKCCzNF#Iz*mQAOYzaK6dot_QgA=Ot-N7L;=QnY8rB~r`7p1WvS{G8>fTSf z+Bq#$X=4gYyGo<vgad4cj znMv0ZW|(jvDm~3mmXM1^mQ&MpyN?T(%Z(be?!Oq6Tx0zJy8Q|Tk^wUCw+?zbsEF4U z?v8cq!Apl&f)?4uo*ku0_zXj&fcU=C14b|9-=%PZk~uak?8E+bRL;WyAtMd} znjI-cj+`=I<^#i*Yxf)!Nqt1Kttwhqt)wI&Tk66{W0aYgDeG#iK4pn&wP~-5xo$%| zQUt!)1_FcIP=wM&pax$7QS?RQf%3Lwba5BF7ecP-&4u-RH}H{E^w+q{0N-&2SJ z%n@>-Ohhunkc8ffMtOO%7II_c`e7?{O_hF;(yG@!*DoefKDJo5b*M8n{iWUdlR%g{ ztQsfT%N#{q8DkasGA1hJh5rcXJNaW^xHvS=w21LnH7`c*FmSLU zM^BH&l5fkc_14nb5W$`kfShVM(zXuV6w9*8r?L{YyKY2d>8koMvW1#xfw3DIXVL|> z>*@cwvU*J$8<@MGzb24nuH%$EI9|8&c2bgq?EY7@2;ck%PS$rewV{tJeza*EOQ{J; z_gMH;60^X)*~(zO4_rHk5y~Ha=~VZ_Mjf*qB2|)yT@3qKlivb2*e&b5l)${fRTgsV ztFZQTvODfCqsI4q6kP&BhbjUV$T;n)CH-K-eEB(Z-OJG)x-mHK0SG(~Yk$zJ;bl7N zPpgr0>0Iv-;3Vs;`q)WyiYQ5Clk*%ug;}EXD#O}7*&q%K(}>g^SR-`6M-`^l>Sm{5 zOIRpy962;drtl{Z~(DzU**yXDod<#7_O?~L7lsWzamTrcA5vbYdN&EBr zQldM;>%t6ZJWV5*W!&Y`5;65t=u}SGQ(m0=Wnyi9V8pqFy1bEcW4_@dbJd9Rcpv8> zzfu3c?=KNz!WKQbxZZD7htmVK<`!A=%Xuo^heQHP#xuCh3V->3%=dIpJ=e3nV>9Y=X}27hu09tA@GFn4~6=*2%8oJ_VzY563;Q}!8fih{5F|8bu> z|NqSnxt?rvYrKC2w1d6XF4cEK?&tddThdx*f7@HHD@~sqX8vz5DXA(oVRKeU>p&=z zdQZ&kkiJeOB_&|kaA9ghN@D8ElS>Dm-%v&wj@Iw*5^LJ_){CqJrz>la^1%a~PKhR| zHXnq_vL>$rJJ@%LPxfE!bYX^sWs!}1{Wv4-fGlF}LZrbB)9axBg$E31`OKS(w^4pgZRCesF zU^e+OAYH6nFscnHR33;RP`z%qUo?+QYTlb#!SKS%Uxf z0%{kjv=L8)aP-yXgOwc`Hld8mL!KS_JMuQYoMSjd^Vzy3bG`1bww0`3>hy@syqpW7 zLF97PEgykjh7|MJn$w`*8Q$@f8ljL-@y63he^1C3%c+T#wNYDc6XMKzD=R&9%aBM9 zrU={6W51M9(gQlbs20VXZRJ8mc+k3L9OVIGMJavf!)c0v53{V)vgfKOF82M%C4)EW{W^KoKG{vz+-R6F(+R;G_`x)9iTnVS2g2i-s3#YmdZxP4b&|OXE z=1^sSJX5Bh1kXH2?kInnltUi_M$7(EM)B+cE!99g?jxg!(?r?k4%I(P1qm55lT%FO zK)cXyF6w5p3bLM^MJ1JnO?8uX7q%L>HbJt@hp_dlw%=h(*hh*)(oQ<{W8|Gt1E^Bl zSSR@hanM7$ZHuIa1H#AivP}0BE8w^L(282{Sx0p6dyh`T@Lfq#&{LeeF*?{PVwY^& zL*>jXn>KGR2fW89DjD;k40@X1?}as&3Woyi$J%Bhr#7~u(vvKqcZ$Nw2{JpDgGWA6 zmPg_*Q$^uDywWz^82L7N?YTlucL0o^eXn>X6YjZEb*xe_Rb4OoK|H2B7l~;g0f-J0 zts-B&naeei3&wuw7@YBZ{6WVS)hsZmtx2Z9cZLv1y=KP!XMv zI6qY}Q@vT7CDPXkm7hZZf6m!eLBjIuP+=?j-JkzH_DmmCTm$q4kLDy1MkkvE`WPuK z8cW%sJLcAcGaSUENO(5(V5)p2R@xYo zNIUh*HQ&JV`NHt3%-w`!m%4k_FtB_mBti2f$={ki$+t($MWw!HBTp0yEvk8G6L7~} zK4b)i#Vf9^Zxaemka~lle& zU+Y!>qfq_>J*qQP!Q~waDC)W199?6C+;7SOq39w-MR|ZhD$Mq=Ma{a*lu_#T;9#o?GdOqw=W@2eF-o3pY{998Nww z607;RVK^{z2P{B;u2w}Y<(-&<_gyGN&P~T@@7i<#E+=v;eZVv4EDp>hY83nP=H2^} zPkW=M`ikipRO;KsC2s$$8ule39$R=CdOg%O7yuV z8grU9!?_N4zLb5ev2&vl9EUqS0%oiG?ERy^*V^@Xa%^X-D#tGzv?JH>mQB=p<{Pp- z@D+cQ10>C6K_6)j19!&U>HxMO6Q^G*hn5dDSYpqY$g-E&$@PhR!FWzA0)!;^Z9ULlqjzRx5I z0+CD_6oz&=ROEawm;JwT z{E`6pC$edZ{sO@=^{`7SjVSUDVvlcE#kmi7w`V6$oqXJ5fmrAkyo%uZvv5nK$_TmQ z^qF@f}8^%!)1~CqMyIfqus}Klf$dG=nSH43E7&Rm3#d#+`U`Hwb09c zbe;vyTWp1=sxM82j&`o7I^M_XNTykpx@dCv^ek!gzZ1O6#z8`RtzouuU!R*t(CmNr z&G=629?dZ4cP%PNMTjz|;$HPycf{Xy$Q1p3AGjnw_>AoOT@bwbT-Jn&bWfM!qCh=W z5zZ1i$Zf@p&F_1+cu_ZyZ|KMo-$oT03F%}}L-_KD`8O*mHkonfxgoWub@0NMv z2{YB_(nM{*UhH`LVxfE6pnL@$0OouNz@x5ChvbJi8amd5zfQ$_V3bfc{J^y_*1i+u z(=FUtT?LzlmaAU7%PCj`gaeJ6IZ~ZYGRvK`^9jd_7=6ak&9A3wmgPprg8cp96-B~# zS2{LA(4GN)>K!O9(rlb_<5ysGi>x6sI01P(j2dHfg1Ieo7^~fc*cd6_QE;V`b=eN_ zot(#z+dtp<=zSQ+KW(-ZgX@GBF6SHWl04|C4evQuNH|sJU$zf?Re2ElTvE1U^U8eO z1AajJ2G_*)@=9^X#F1koc@6f6Q-Y;x+nCi@O7|9d{@*A#*U3F~`zNxg)mexf7;Sg9 z4hB$!xX|}H!8%no=hSXA1}u`rZ0S^;$!8R`_^zZmwlolTrV3@HT|U4F;bhQLAIsu} zv-oeD_+9ONE3IKhmzG#u;pN4#QQ1E`=C0sLB=2?skCr9cp@I+BnUlq=| z?_stO*G?9sjzSctAdAk835>Ga zDf>+7U1s+|;F}!g{&OjZ*drz*zZJo0FM<;eYuJi6jw3e#`x@VcCov_Tp82sI9p{%g|_AAvX>|!lbCC|D5pkgHYFg}nUk&di$@0# z$5P-fV;A@ZNsiaALq1w7Ys*j89bdo5BiA{2c2u3fS?h4sro~ljScDb!m`pw(Kq2~< zpBN*4SdS3RNxe&sx~~0s-{l?8kjfX(#qKZ`P}p3)I>W2v7#izHOZ}HGA688_BfCCrqA~$ z{kg`Vxd**xW?je=71U~0V$149_Dj9GxYiQU*~YS5{!1=yr|Ub+UXQ@ahW&QaTVxj) z8*|rR!+`|1YWcKdS}Rh_5L`{)JQezt4&3$G`rHGkVovWWu(z0@ic{r$qDzv@P)kdv zCrZs9R!=DVIVE!_1>l~T^}b9VsmpMf+zKed=MITBGAxes>)|Z$|P8aAm zvYd0PQ7+ZGnm(^qxXzP$HG!GBx^ZH25ND2VepU2o0$^=Bkc@?^M6W-Sj~3WjVuNc> zRo!W&@2i0z3xk!~g8;!E8^9mK>x7xeh4{$&lLg8p9>A{sj76PFng{uM<^5RUn1vqy zdRSD;Y@KSh>r9a-WOIk^uRgeV3v%fr4cH>3Wy<*NMXdFPrvIG>ApOZ9>_2 zcCM9#tAaQOjCd)HkD#z!(c{Me3*@e^1xrMPTK+CeHo^n2O|6fwE1ZzT<;to=e_?YQp3 zCA+y=zqyS9b48dv=hk7NOB_ZsJPzZj<*s?WSkBd!2wi2ms_`%-ok1sWbE~L}B!SzZ z{nMhu(97-X>9Y}sR@I_34_+QVML*=ORoF`YdQ6}DloEz69=4M9tb`Afd*kAkbd!t( zu7^s2t*xXn?gKe-y83lgp!wi8)DS1U1@%G)Aet$-1#U;mOyuWDP?OOlRsZAV?(q+c zG~h5v^Ij7Ln*Hs>G4z#Jud|M%{hnO@iK5JEuD7XA4)*)Jj}g2`OlAIUm}L| zm8ja)I-=3>{61VUmMBRI3_L5mC2a3AodLP)jZX+I9^;&}?DbU3Wz-!p|Ff+&GC?0; z|E{ygJ8>?yD3<;$o#xjLwD7t39rff)Q39ev4xl{@et^Mg8ql?rb3>jhi%E#ipNV84 zHw}g}g(}KzdZyDi$6&Y4=#BO49Smh>T{0#64n>hVrfdG18T{FT1GL8R}q`ZAk1a-M^%A~4#T-vXPYQ1mmsKO`%PmC zz3|*6^1g1XPaIOC)t=Ja+pv<>M$dXQ!F@eOxpEZxjTH`7Da>#)gLA6MXR;4qHs&(= z`aRf!3oxsMC2HGdigXXVkF1nkYb2Q+{a&FI*mFXPkvLIRJyWt!NI!|ni!VrVe5o`%cis=m#JGWc?uTf}^TO4&KT3R=}wf-F(Z0X={ z-$a7u0O7fGL3vOy|D%51NZ7$*_&&Y3QUw00rbi=lRCFc$T3q%!=Q01q@v~t2-$n*= zbVqK`S#X7*(-PZXuSiOiuxpPutPw9?oJT*wy4U-bx&w+nP7V?n77Qdg+$>u-&s|_7 z-|~LOWY+qDpan`{&UdFXH>158YiCTx&p_0JF|X;qVT(EBe0=0XBFNvy+Fy&MHIf(A z2{G5wKPTyD zs$Aa8+ZBzH@8Gfepv|Z5KpyD1X%IF?w`Bpc(ps6gED;RI=L}k+D@tot%5O$`yrWiu zv`vF_rL2t{`5pg=JhNAvoycWiZwyKhB6FbO&N+#y+@v8MXHkmPPsi#U3u(Q3z6VZO&!=}g^wOF3ulrQB{fLw6+=9x875v!8K}T?+Lv zil8*i?z`z{`XH#1AFL+&;rha~yX5Z*Mqb|ruc^ILCR5*d5FwdM&RWJQWkLbV10RWe zC?w|tJAV&Ai6=sehN*-va*Glxe?HwrUFd~vGm{7Q376P&;*@pFxu5*hPI+)T4%p@X z;_WaPVwr)TtiFe~3$}1>nb)<*GIXqA3yd-$TCd+^@kcp)|A6S_bvIh(RDnP1uFi#R zw2X!2qPMQ_ol@ybgXb!k9`xc>dU`dG4{Y2_`RvOXM2~hU?mzoZ`3Z~|za%%$RrNgz zQ&)6(0y|sVbd1~F(-e*wVxf0b-E<49a&oBSdP1`ljt*k3<&YIRY&j4#2Je8v%?za? zatL@LHaa#P+cPW(2wcR@hq;|=(Z=X=!wpPmWR`_J?Fd}8W|VXacB=#oG2|{DVJjk8 z3Y>JdQpR+4qbzu2z-Z`aWNv7Q#@<`Om7T$`cy@s%gWYIkNLgj(k-OzMZ;|};& zT6wT;-|&@x&tW|a(Zhqu*i11uFHjw^dC3v@Ax_WBbxys@N!G6whn}fJPPN~^F6O=p zt6Crr@1r%Ed}bt3=`V84G)C2sT`WXIVa~*$9}hxD66kJF0rurdApLqIahB+wiSuMG z_aDQ*9OS%KBYDq0MpdvRYNjV{+~GXH&$QLI9U30h22TYi1Ngt!;9P10;w~2zg-}Vq z@Dr8B*oAml5DEGi$h^S!;9nOZ-&=j*V}PMb^NSsadg3*fI**smJ+j%Vl1kwXj8t_0 zKm0%~*y|vVX^(jI6j%oMVrOd&;l;pL$Q%tJK^FS_hL5BAe}d5ka?^@`RUh+Qx+0sr