From 1f780186d59ca038c09451e5608962c57073d32c Mon Sep 17 00:00:00 2001 From: paramagicdev Date: Wed, 23 Sep 2020 10:54:42 -0400 Subject: [PATCH 001/127] refactor: move actioncable, cable_ready, and SR to peerDeps --- javascript/package.json | 4 +++- lib/tasks/stimulus_reflex/install.rake | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/javascript/package.json b/javascript/package.json index 343d8472..165c5d6e 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -36,9 +36,11 @@ "test": "yarn run mocha --require @babel/register" }, "dependencies": { + "form-serialize": ">= 0.7.2" + }, + "peerDependencies": { "@rails/actioncable": ">= 6.0", "cable_ready": ">= 4.3.0", - "form-serialize": ">= 0.7.2", "stimulus": ">= 1.1" }, "devDependencies": { diff --git a/lib/tasks/stimulus_reflex/install.rake b/lib/tasks/stimulus_reflex/install.rake index e875daa8..0ddd91a1 100644 --- a/lib/tasks/stimulus_reflex/install.rake +++ b/lib/tasks/stimulus_reflex/install.rake @@ -8,7 +8,7 @@ namespace :stimulus_reflex do task install: :environment do system "bundle exec rails webpacker:install:stimulus" gem_version = StimulusReflex::VERSION.gsub(".pre", "-pre") - system "yarn add stimulus_reflex@#{gem_version}" + system "yarn add cable_ready stimulus_reflex@#{gem_version}" FileUtils.mkdir_p Rails.root.join("app/javascript/controllers"), verbose: true FileUtils.mkdir_p Rails.root.join("app/reflexes"), verbose: true From fdaa277c2d0bd072b1d56b4f489d5cc2aa9bcd16 Mon Sep 17 00:00:00 2001 From: paramagicdev Date: Wed, 23 Sep 2020 10:55:36 -0400 Subject: [PATCH 002/127] chore: regenerate a yarn.lock file --- javascript/yarn.lock | 49 -------------------------------------------- 1 file changed, 49 deletions(-) diff --git a/javascript/yarn.lock b/javascript/yarn.lock index 74e5c2e3..a49cdbeb 100644 --- a/javascript/yarn.lock +++ b/javascript/yarn.lock @@ -904,11 +904,6 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@rails/actioncable@>= 6.0": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3.tgz#722b4b639936129307ddbab3a390f6bcacf3e7bc" - integrity sha512-I01hgqxxnOgOtJTGlq0ZsGJYiTEEiSGVEGQn3vimZSqEP1HqzyFNbzGTq14Xdyeow2yGJjygjoFF1pmtE+SQaw== - "@samverschueren/stream-to-observable@^0.3.0": version "0.3.1" resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" @@ -916,30 +911,6 @@ dependencies: any-observable "^0.3.0" -"@stimulus/core@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@stimulus/core/-/core-1.1.1.tgz#42b0cfe5b73ca492f41de64b77a03980bae92c82" - integrity sha512-PVJv7IpuQx0MVPCBblXc6O2zbCmU8dlxXNH4bC9KK6LsvGaE+PCXXrXQfXUwAsse1/CmRu/iQG7Ov58himjiGg== - dependencies: - "@stimulus/mutation-observers" "^1.1.1" - -"@stimulus/multimap@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@stimulus/multimap/-/multimap-1.1.1.tgz#b95e3fd607345ab36e5d5b55486ee1a12d56b331" - integrity sha512-26R1fI3a8uUj0WlMmta4qcfIQGlagegdP4PTz6lz852q/dXlG6r+uPS/bx+H8GtfyS+OOXVr3SkZ0Zg0iRqRfQ== - -"@stimulus/mutation-observers@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@stimulus/mutation-observers/-/mutation-observers-1.1.1.tgz#0f6c6f081308427fed2a26360dda0c173b79cfc0" - integrity sha512-/zCnnw1KJlWO2mrx0yxYaRFZWMGnDMdOgSnI4hxDLxdWVuL2HMROU8FpHWVBLjKY3T9A+lGkcrmPGDHF3pfS9w== - dependencies: - "@stimulus/multimap" "^1.1.1" - -"@stimulus/webpack-helpers@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@stimulus/webpack-helpers/-/webpack-helpers-1.1.1.tgz#eff60cd4e58b921d1a2764dc5215f5141510f2c2" - integrity sha512-XOkqSw53N9072FLHvpLM25PIwy+ndkSSbnTtjKuyzsv8K5yfkFB2rv68jU1pzqYa9FZLcvZWP4yazC0V38dx9A== - "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" @@ -1278,13 +1249,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -"cable_ready@>= 4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.3.0.tgz#69c6c6963a60d7891f43c7530e343007a00a50b3" - integrity sha512-/hjwgdwMoe2hE5KKunsuWXDTr26GzwR7CovdFKHdSHD/yZTFFIv/eY27slMiXUEb57X12GHdliSM59rftTKpoQ== - dependencies: - morphdom "^2.6.1" - caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -3151,11 +3115,6 @@ mocha@^8.0.1: yargs-parser "13.1.2" yargs-unparser "1.6.1" -morphdom@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/morphdom/-/morphdom-2.6.1.tgz#e868e24f989fa3183004b159aed643e628b4306e" - integrity sha512-Y8YRbAEP3eKykroIBWrjcfMw7mmwJfjhqdpSvoqinu8Y702nAwikpXcNFDiIkyvfCLxLM9Wu95RZqo4a9jFBaA== - mri@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6" @@ -4088,14 +4047,6 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= -"stimulus@>= 1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/stimulus/-/stimulus-1.1.1.tgz#53c2fded6849e7b85eed3ed8dd76e33abd74bec5" - integrity sha512-R0mBqKp48YnRDZOxZ8hiOH4Ilph3Yj78CIFTBkCwyHs4iGCpe7xlEdQ7cjIxb+7qVCSxFKgxO+mAQbsNgt/5XQ== - dependencies: - "@stimulus/core" "^1.1.1" - "@stimulus/webpack-helpers" "^1.1.1" - string-argv@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" From fe3955cfd31a3893ff18d8eccc97240862382e63 Mon Sep 17 00:00:00 2001 From: paramagicdev Date: Wed, 23 Sep 2020 11:02:30 -0400 Subject: [PATCH 003/127] feat: add microbundle to bundle for production --- javascript/package.json | 10 +- javascript/yarn.lock | 1644 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 1621 insertions(+), 33 deletions(-) diff --git a/javascript/package.json b/javascript/package.json index 165c5d6e..4d3a5fc9 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -28,12 +28,17 @@ }, "license": "MIT", "author": "Nathan Hopkins ", - "main": "./stimulus_reflex.js", + "source": "./stimulus_reflex.js", + "main": "dist/stimulus_reflex.js", + "module": "dist/stimulus_reflex.module.js", + "unpkg": "dist/stimulus_reflex.umd.js", "scripts": { "postinstall": "node scripts/post_install.js", "prettier-standard:check": "yarn run prettier-standard --check *.js **/*.js", "prettier-standard:format": "yarn run prettier-standard *.js **/*.js", - "test": "yarn run mocha --require @babel/register" + "test": "yarn run mocha --require @babel/register", + "build": "microbundle", + "dev": "microbundle watch" }, "dependencies": { "form-serialize": ">= 0.7.2" @@ -49,6 +54,7 @@ "@babel/register": "^7.6.2", "assert": "^2.0.0", "jsdom": "^16.0.1", + "microbundle": "^0.12.3", "mocha": "^8.0.1", "prettier-standard": "^16.1.0" } diff --git a/javascript/yarn.lock b/javascript/yarn.lock index a49cdbeb..e525067f 100644 --- a/javascript/yarn.lock +++ b/javascript/yarn.lock @@ -16,7 +16,7 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.5.5": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== @@ -32,6 +32,28 @@ invariant "^2.2.4" semver "^5.5.0" +"@babel/core@^7.10.2": + version "7.11.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" + integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.6" + "@babel/helper-module-transforms" "^7.11.0" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.11.5" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.11.5" + "@babel/types" "^7.11.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/core@^7.6.2": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.5.tgz#6ad96e2f71899ea3f9b651f0a911e85205d1ff6d" @@ -63,6 +85,15 @@ jsesc "^2.5.1" source-map "^0.6.1" +"@babel/generator@^7.11.6": + version "7.11.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" + integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA== + dependencies: + "@babel/types" "^7.11.5" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -78,6 +109,23 @@ "@babel/helper-explode-assignable-expression" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-builder-react-jsx-experimental@^7.10.4": + version "7.11.5" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz#4ea43dd63857b0a35cd1f1b161dc29b43414e79f" + integrity sha512-Vc4aPJnRZKWfzeCBsqTBnzulVNjABVdahSPhtdMD3Vs80ykx4a87jTHtF/VR+alSrDmNvat7l13yrRHauGcHVw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-module-imports" "^7.10.4" + "@babel/types" "^7.11.5" + +"@babel/helper-builder-react-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d" + integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/types" "^7.10.4" + "@babel/helper-compilation-targets@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2" @@ -89,7 +137,7 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.10.4": +"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.7.4": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== @@ -275,7 +323,7 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== -"@babel/parser@^7.10.4", "@babel/parser@^7.11.5": +"@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.3.3": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== @@ -289,6 +337,14 @@ "@babel/helper-remap-async-to-generator" "^7.10.4" "@babel/plugin-syntax-async-generators" "^7.8.0" +"@babel/plugin-proposal-class-properties@7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz#2f964f0cb18b948450362742e33e15211e77c2ba" + integrity sha512-EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-class-properties@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" @@ -415,6 +471,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-syntax-flow@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz#53351dd7ae01995e567d04ce42af1a6e0ba846a6" + integrity sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-import-meta@^7.10.1": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings@^7.8.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -422,6 +492,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.10.1", "@babel/plugin-syntax-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c" + integrity sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -552,6 +629,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-flow-strip-types@^7.10.1", "@babel/plugin-transform-flow-strip-types@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz#c497957f09e86e3df7296271e9eb642876bf7788" + integrity sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-flow" "^7.10.4" + "@babel/plugin-transform-for-of@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" @@ -655,7 +740,17 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-regenerator@^7.10.4": +"@babel/plugin-transform-react-jsx@^7.10.1": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2" + integrity sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A== + dependencies: + "@babel/helper-builder-react-jsx" "^7.10.4" + "@babel/helper-builder-react-jsx-experimental" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.10.1", "@babel/plugin-transform-regenerator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw== @@ -722,7 +817,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/preset-env@^7.6.2": +"@babel/preset-env@^7.10.2", "@babel/preset-env@^7.6.2": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.5.tgz#18cb4b9379e3e92ffea92c07471a99a2914e4272" integrity sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA== @@ -796,6 +891,14 @@ levenary "^1.1.1" semver "^5.5.0" +"@babel/preset-flow@^7.10.1": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.10.4.tgz#e0d9c72f8cb02d1633f6a5b7b16763aa2edf659f" + integrity sha512-XI6l1CptQCOBv+ZKYwynyswhtOKwpZZp5n0LG1QKCo8erRhqjoQV6nvx61Eg30JHpysWQSBwA2AWRU3pBbSY5g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-flow-strip-types" "^7.10.4" + "@babel/preset-modules@^0.1.3": version "0.1.4" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" @@ -818,7 +921,7 @@ pirates "^4.0.0" source-map-support "^0.5.16" -"@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": +"@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": version "7.11.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== @@ -904,6 +1007,61 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" +"@rollup/plugin-alias@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.1.tgz#bb96cf37fefeb0a953a6566c284855c7d1cd290c" + integrity sha512-hNcQY4bpBUIvxekd26DBPgF7BT4mKVNDF5tBG4Zi+3IgwLxGYRY0itHs9D0oLVwXM5pvJDWJlBQro+au8WaUWw== + dependencies: + slash "^3.0.0" + +"@rollup/plugin-babel@^5.0.3": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.2.1.tgz#20fc8f8864dc0eaa1c5578408459606808f72924" + integrity sha512-Jd7oqFR2dzZJ3NWANDyBjwTtX/lYbZpVcmkHrfQcpvawHs9E4c0nYk5U2mfZ6I/DZcIvy506KZJi54XK/jxH7A== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/plugin-commonjs@^13.0.0": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-13.0.2.tgz#b7783f0db049450c72d60bc06cf48d4951515e58" + integrity sha512-9JXf2k8xqvMYfqmhgtB6eCgMN9fbxwF1XDF3mGKJc6pkAmt0jnsqurxQ0tC1akQKNSXCm7c3unQxa3zuxtZ7mQ== + dependencies: + "@rollup/pluginutils" "^3.0.8" + commondir "^1.0.1" + estree-walker "^1.0.1" + glob "^7.1.2" + is-reference "^1.1.2" + magic-string "^0.25.2" + resolve "^1.11.0" + +"@rollup/plugin-json@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" + integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== + dependencies: + "@rollup/pluginutils" "^3.0.8" + +"@rollup/plugin-node-resolve@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-6.1.0.tgz#0d2909f4bf606ae34d43a9bc8be06a9b0c850cf0" + integrity sha512-Cv7PDIvxdE40SWilY5WgZpqfIUEaDxFxs89zCAHjqyRwlTSuql4M5hjIuc5QYJkOH0/vyiyNXKD72O+LhRipGA== + dependencies: + "@rollup/pluginutils" "^3.0.0" + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + is-module "^1.0.0" + resolve "^1.11.1" + +"@rollup/pluginutils@^3.0.0", "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + "@samverschueren/stream-to-observable@^0.3.0": version "0.3.1" resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" @@ -916,6 +1074,16 @@ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/estree@*": + version "0.0.45" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" + integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -934,6 +1102,23 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.2.tgz#264b44c5a28dfa80198fc2f7b6d3c8a054b9491f" integrity sha512-onlIwbaeqvZyniGPfdw/TEhKIh79pz66L1q06WUQqJLnAb6wbjvOtepLYTGHTqzdXgBYIE3ZdmqHDGsRsbBz7A== +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + +"@types/resolve@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" + integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== + dependencies: + "@types/node" "*" + "@types/unist@^2.0.0", "@types/unist@^2.0.2": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" @@ -974,7 +1159,7 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^7.1.1: +acorn@^7.1.0, acorn@^7.1.1: version "7.4.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== @@ -997,6 +1182,11 @@ ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + angular-estree-parser@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/angular-estree-parser/-/angular-estree-parser-1.3.1.tgz#5b590c3ef431fccb512755eea563029f84c043ee" @@ -1163,6 +1353,24 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= +asyncro@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" + integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== + +autoprefixer@^9.8.0: + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" @@ -1187,6 +1395,27 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" +babel-plugin-macros@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-transform-async-to-promises@^0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-promises/-/babel-plugin-transform-async-to-promises-0.8.15.tgz#13b6d8ef13676b4e3c576d3600b85344bb1ba346" + integrity sha512-fDXP68ZqcinZO2WCiimCL9zhGjGXOnn3D33zvbh+yheZ/qOrNVVDDIBtAaM3Faz8TRvQzHiRKsu3hfrBAhEncQ== + +babel-plugin-transform-replace-expressions@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-replace-expressions/-/babel-plugin-transform-replace-expressions-0.2.0.tgz#59cba8df4b4a675e7c78cd21548f8e7685bbc30d" + integrity sha512-Eh1rRd9hWEYgkgoA3D0kGp7xJ/wgVshgsqmq60iC4HVWD+Lux+fNHSHBa2v1Hsv+dHflShC71qKhiH40OiPtDA== + dependencies: + "@babel/parser" "^7.3.3" + bail@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" @@ -1204,11 +1433,21 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + binary-extensions@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1224,6 +1463,13 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" +brotli-size@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/brotli-size/-/brotli-size-4.0.0.tgz#a05ee3faad3c0e700a2f2da826ba6b4d76e69e5e" + integrity sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA== + dependencies: + duplexer "0.1.1" + browser-process-hrtime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" @@ -1234,6 +1480,16 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== +browserslist@^4.0.0: + version "4.14.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.4.tgz#66a18131439f9e16c3da7f352518dfa12f60b0e3" + integrity sha512-7FOuawafVdEwa5Jv4nzeik/PepAjVte6HmVGHsjt2bC237jeL9QlcTBDF3PnHEvcC6uHwLGYPwZHNZMB7wWAnw== + dependencies: + caniuse-lite "^1.0.30001135" + electron-to-chromium "^1.3.570" + escalade "^3.1.0" + node-releases "^1.1.61" + browserslist@^4.12.0, browserslist@^4.8.5: version "4.14.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.0.tgz#2908951abfe4ec98737b72f34c3bcedc8d43b000" @@ -1249,6 +1505,11 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== +builtin-modules@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" + integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -1278,6 +1539,21 @@ camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + 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" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: + version "1.0.30001135" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001135.tgz#995b1eb94404a3c9a0d7600c113c9bb27f2cd8aa" + integrity sha512-ziNcheTGTHlu9g34EVoHQdIu5g4foc8EsxMGC7Xkokmvw0dqNtX8BS8RgCgFBaAiSp2IdjvBxNdh0ssib28eVQ== + caniuse-lite@^1.0.30001111: version "1.0.30001120" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001120.tgz#cd21d35e537214e19f7b9f4f161f7b0f2710d46c" @@ -1413,6 +1689,15 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -1423,7 +1708,7 @@ collapse-white-space@^1.0.2: resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== -color-convert@^1.9.0: +color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -1442,11 +1727,32 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@~1.1.4: +color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -1469,6 +1775,13 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +concat-with-sourcemaps@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== + dependencies: + source-map "^0.6.1" + convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" @@ -1489,7 +1802,7 @@ core-util-is@1.0.2: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@5.2.1, cosmiconfig@^5.2.1: +cosmiconfig@5.2.1, cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -1499,6 +1812,17 @@ cosmiconfig@5.2.1, cosmiconfig@^5.2.1: js-yaml "^3.13.1" parse-json "^4.0.0" +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -1519,6 +1843,155 @@ cross-spawn@^7.0.0: shebang-command "^2.0.0" which "^2.0.1" +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-modules-loader-core@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16" + 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" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-selector-tokenizer@^0.7.0: + version "0.7.3" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" + integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg== + dependencies: + cssesc "^3.0.0" + fastparse "^1.1.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@1.0.0-alpha.39: + version "1.0.0-alpha.39" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" + integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA== + dependencies: + mdn-data "2.0.6" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39" + integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + 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" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + 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" + +csso@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" + integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ== + dependencies: + css-tree "1.0.0-alpha.39" + cssom@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" @@ -1639,6 +2112,24 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domelementtype@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971" + integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA== + domexception@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" @@ -1646,6 +2137,31 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +duplexer@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -1674,6 +2190,11 @@ electron-to-chromium@^1.3.523: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.555.tgz#a096716ff77cf8da9a608eb628fd6927869503d2" integrity sha512-/55x3nF2feXFZ5tdGUOr00TxnUjUgdxhrn+eCJ1FAcoAt+cKQTjQkUC5XF4frMWE1R5sjHk+JueuBalimfe5Pg== +electron-to-chromium@^1.3.570: + version "1.3.571" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.571.tgz#e57977f1569f8326ae2a7905e26f3943536ba28f" + integrity sha512-UYEQ2Gtc50kqmyOmOVtj6Oqi38lm5yRJY3pLuWt6UIot0No1L09uu6Ja6/1XKwmz/p0eJFZTUZi+khd1PV1hHA== + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -1689,6 +2210,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -1696,6 +2222,11 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" +entities@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -1703,7 +2234,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: +es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.17.5: version "1.17.6" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== @@ -1752,17 +2283,27 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= +es6-promisify@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.1.1.tgz#46837651b7b06bf6fff893d03f29393668d01621" + integrity sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg== + escalade@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== +escalade@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.0.tgz#e8e2d7c7a8b76f6ee64c2181d6b8151441602d4e" + integrity sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig== + escape-string-regexp@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escape-string-regexp@4.0.0: +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== @@ -1885,11 +2426,26 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + esutils@2.0.3, esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + execa@^2.0.3, execa@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99" @@ -1956,6 +2512,11 @@ fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastparse@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + fastq@^1.6.0: version "1.8.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" @@ -1963,7 +2524,7 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -figures@^1.7.0: +figures@^1.0.1, figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= @@ -1992,6 +2553,11 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" +filesize@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" + integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg== + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -2008,6 +2574,15 @@ find-cache-dir@^2.0.0: make-dir "^2.0.0" pkg-dir "^3.0.0" +find-cache-dir@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + find-parent-dir@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" @@ -2033,7 +2608,7 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^4.1.0: +find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -2096,6 +2671,15 @@ form-data@~2.3.2: resolved "https://registry.yarnpkg.com/form-serialize/-/form-serialize-0.7.2.tgz#b0a2ff0c22026fb6d3d15c9d33f6de6a432e4732" integrity sha1-sKL/DCICb7bT0VydM/beakMuRzI= +fs-extra@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -2116,6 +2700,13 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +generic-names@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872" + integrity sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ== + dependencies: + loader-utils "^1.1.0" + gensync@^1.0.0-beta.1: version "1.0.0-beta.1" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" @@ -2164,7 +2755,7 @@ glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" -glob@7.1.6, glob@^7.0.3, glob@^7.1.3, glob@^7.1.4: +glob@7.1.6, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -2188,6 +2779,11 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" +globalyzer@^0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.4.tgz#bc8e273afe1ac7c24eea8def5b802340c5cc534f" + integrity sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA== + globby@6.1.0, globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -2213,7 +2809,12 @@ globby@^10.0.1: merge2 "^1.2.3" slash "^3.0.0" -graceful-fs@^4.2.2: +globrex@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + +graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -2230,6 +2831,21 @@ growl@1.10.5: resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== +gzip-size@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + integrity sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA= + dependencies: + duplexer "^0.1.1" + +gzip-size@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + handlebars@^4.0.13: version "4.7.6" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" @@ -2282,7 +2898,7 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has@^1.0.3: +has@^1.0.0, has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -2294,6 +2910,26 @@ he@1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + html-element-attributes@2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-2.2.1.tgz#ff397c7a3d6427064b117b6f36b45be08e79db93" @@ -2332,6 +2968,11 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= + ignore@4.0.6, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -2347,6 +2988,20 @@ ignore@^5.1.1: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" + integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== + dependencies: + import-from "^3.0.0" + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -2355,7 +3010,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0: +import-fresh@^3.0.0, import-fresh@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== @@ -2363,6 +3018,20 @@ import-fresh@^3.0.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" + integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== + dependencies: + resolve-from "^5.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -2427,6 +3096,11 @@ ip-regex@^2.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" @@ -2450,6 +3124,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -2474,6 +3153,18 @@ is-ci@2.0.0: dependencies: ci-info "^2.0.0" +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + 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" + is-date-object@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" @@ -2533,7 +3224,12 @@ is-map@^2.0.1: resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== -is-nan@^1.2.1: +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-nan@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.0.tgz#85d1f5482f7051c2019f5673ccebdb06f3b0db03" integrity sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ== @@ -2550,6 +3246,11 @@ is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + is-observable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" @@ -2587,6 +3288,13 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== +is-reference@^1.1.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + is-regex@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" @@ -2599,6 +3307,11 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + is-set@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" @@ -2619,6 +3332,13 @@ is-string@^1.0.4, is-string@^1.0.5: resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + dependencies: + html-comment-regex "^1.1.0" + is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -2691,6 +3411,14 @@ jest-docblock@25.3.0: dependencies: detect-newline "^3.0.0" +jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + js-base64@^2.1.9: version "2.6.4" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" @@ -2761,6 +3489,11 @@ json-parse-better-errors@^1.0.1: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -2788,6 +3521,13 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + json5@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" @@ -2795,6 +3535,13 @@ json5@^2.1.2: dependencies: minimist "^1.2.5" +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" @@ -2810,6 +3557,11 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + leven@3.1.0, leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -2909,6 +3661,15 @@ listr@^0.14.3: p-map "^2.0.0" rxjs "^6.3.3" +loader-utils@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -2931,6 +3692,21 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -2941,6 +3717,11 @@ lodash.unescape@4.0.1: resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + lodash.uniqby@4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" @@ -2996,6 +3777,20 @@ lru-cache@^4.1.5: pseudomap "^1.0.2" yallist "^2.1.2" +magic-string@^0.22.4: + version "0.22.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== + dependencies: + vlq "^0.2.2" + +magic-string@^0.25.2: + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -3004,6 +3799,13 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + map-age-cleaner@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" @@ -3016,6 +3818,26 @@ markdown-escapes@^1.0.0: resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== +maxmin@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-2.1.0.tgz#4d3b220903d95eee7eb7ac7fa864e72dc09a3166" + integrity sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY= + dependencies: + chalk "^1.0.0" + figures "^1.0.1" + gzip-size "^3.0.0" + pretty-bytes "^3.0.0" + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +mdn-data@2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" + integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== + mem@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" @@ -3035,6 +3857,53 @@ merge2@^1.2.3, merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +microbundle@^0.12.3: + version "0.12.3" + resolved "https://registry.yarnpkg.com/microbundle/-/microbundle-0.12.3.tgz#6f43f1a7d0ad6258f4406e390340db4ad0312e1f" + integrity sha512-OcpBYPytJXOJsTfPjhL5p3nR0JXt0O9dH97K2k6gJ9etokmuRE4qoAfdnYfsUYLRHftCMJu/BkbQySAPnQ87PQ== + dependencies: + "@babel/core" "^7.10.2" + "@babel/plugin-proposal-class-properties" "7.7.4" + "@babel/plugin-syntax-import-meta" "^7.10.1" + "@babel/plugin-syntax-jsx" "^7.10.1" + "@babel/plugin-transform-flow-strip-types" "^7.10.1" + "@babel/plugin-transform-react-jsx" "^7.10.1" + "@babel/plugin-transform-regenerator" "^7.10.1" + "@babel/preset-env" "^7.10.2" + "@babel/preset-flow" "^7.10.1" + "@babel/preset-modules" "^0.1.3" + "@rollup/plugin-alias" "^3.1.1" + "@rollup/plugin-babel" "^5.0.3" + "@rollup/plugin-commonjs" "^13.0.0" + "@rollup/plugin-json" "^4.1.0" + "@rollup/plugin-node-resolve" "^6.1.0" + asyncro "^3.0.0" + autoprefixer "^9.8.0" + babel-plugin-macros "^2.8.0" + babel-plugin-transform-async-to-promises "^0.8.15" + babel-plugin-transform-replace-expressions "^0.2.0" + brotli-size "^4.0.0" + camelcase "^5.3.1" + cssnano "^4.1.10" + es6-promisify "^6.1.1" + escape-string-regexp "^4.0.0" + filesize "^6.1.0" + gzip-size "^5.1.1" + kleur "^3.0.3" + lodash.merge "^4.6.2" + module-details-from-path "^1.0.3" + pretty-bytes "^5.3.0" + rollup "^1.32.1" + rollup-plugin-bundle-size "^1.0.1" + rollup-plugin-es3 "^1.1.0" + rollup-plugin-postcss "^2.9.0" + rollup-plugin-terser "^5.3.0" + rollup-plugin-typescript2 "^0.25.3" + sade "^1.7.3" + tiny-glob "^0.2.6" + tslib "^1.13.0" + typescript "^3.9.5" + micromatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" @@ -3072,12 +3941,12 @@ minimatch@3.0.4, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@1.2.5, minimist@^1.2.5: +minimist@1.2.5, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -mkdirp@^0.5.1: +mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -3115,7 +3984,12 @@ mocha@^8.0.1: yargs-parser "13.1.2" yargs-unparser "1.6.1" -mri@^1.1.5: +module-details-from-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" + integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is= + +mri@^1.1.0, mri@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6" integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== @@ -3170,11 +4044,26 @@ node-releases@^1.1.60: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== +node-releases@^1.1.61: + version "1.1.61" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.61.tgz#707b0fca9ce4e11783612ba4a2fcba09047af16e" + integrity sha512-DD5vebQLg8jLCOzwupn954fbIiZht05DAZs0k2u8NStSe6h9XdsuIQL8hSRKYiU8WUQRznmSDrKGbv3ObOmC7g== + normalize-path@3.0.0, normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + npm-run-path@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-3.1.0.tgz#7f91be317f6a466efed3c9f2980ad8a4ee8b0fa5" @@ -3182,6 +4071,18 @@ npm-run-path@^3.0.0: dependencies: path-key "^3.0.0" +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" @@ -3230,6 +4131,24 @@ object.assign@4.1.0, object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" +object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +object.values@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -3273,6 +4192,11 @@ p-defer@^1.0.0: resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + p-finally@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" @@ -3330,6 +4254,21 @@ p-map@^3.0.0: dependencies: aggregate-error "^3.0.0" +p-queue@^6.3.0: + version "6.6.1" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.1.tgz#578891ada028a61371ec2692b26614d1b7d2b10a" + integrity sha512-miQiSxLYPYBxGkrldecZC18OTLjdUqnlRebGzPRiVxB8mco7usCmm7hFuxiTvp93K18JnLtE4KMMycjAu/cQQg== + dependencies: + eventemitter3 "^4.0.4" + p-timeout "^3.1.0" + +p-timeout@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -3362,6 +4301,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + 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" + parse-srcset@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1" @@ -3412,7 +4361,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -3427,6 +4376,11 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -3453,6 +4407,13 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + please-upgrade-node@^3.1.1: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -3460,6 +4421,62 @@ please-upgrade-node@^3.1.1: dependencies: semver-compare "^1.0.0" +postcss-calc@^7.0.1: + version "7.0.4" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.4.tgz#5e177ddb417341e6d4a193c5d9fd8ada79094f8b" + integrity sha512-0I79VRAd1UTkaHzY9w83P39YGO/M3bG7/tNLrHGEunBolfoGM0hSjrGvjoeaj0JE/zIw5GsI2KZ0UwDJqv5hjw== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + 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" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + postcss-less@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-2.0.0.tgz#5d190b8e057ca446d60fe2e2587ad791c9029fb8" @@ -3467,11 +4484,233 @@ postcss-less@2.0.0: dependencies: postcss "^5.2.16" +postcss-load-config@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.1.tgz#0a684bb8beb05e55baf922f7ab44c3edb17cf78e" + integrity sha512-D2ENobdoZsW0+BHy4x1CAkXtbXtYWYRIxL/JbtRBqrRGOPtJ2zoga/bEZWhV/ShWB5saVxJMzbMdSyA/vv4tXw== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + postcss-media-query-parser@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + 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" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + 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" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + 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" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + 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" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb" + integrity sha1-thTJcgvmgW6u41+zpfqh26agXds= + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-2.0.0.tgz#473d0d7326651d8408585c2a154115d5cb36cce0" + integrity sha512-eqp+Bva+U2cwQO7dECJ8/V+X+uH1HduNeITB0CPPFAu6d/8LKQ32/j+p9rQ2YL1QytVcrNU0X+fBqgGmQIA1Rw== + dependencies: + css-modules-loader-core "^1.1.0" + generic-names "^2.0.1" + lodash.camelcase "^4.3.0" + postcss "^7.0.1" + string-hash "^1.1.1" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + 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" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + 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" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + 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" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + 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" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + 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" + postcss-scss@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.0.0.tgz#248b0a28af77ea7b32b1011aba0f738bda27dea1" @@ -3488,6 +4727,54 @@ postcss-selector-parser@2.2.3: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.3.tgz#766d77728728817cc140fa1ac6da5e77f9fada98" + integrity sha512-0ClFaY4X1ra21LRqbW6y3rUbWcxnSVkDFG57R7Nxus9J9myPFlv+jYDMohzpkBx0RrjjiqjtycpchQ+PLGmZ9w== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + 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" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + postcss-values-parser@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz#5d9fa63e2bcb0179ce48f3235303765eb89f3047" @@ -3497,6 +4784,15 @@ postcss-values-parser@1.5.0: indexes-of "^1.0.1" uniq "^1.0.1" +postcss@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" + integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I= + dependencies: + chalk "^1.1.3" + source-map "^0.5.6" + supports-color "^3.2.3" + postcss@^5.2.16: version "5.2.18" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" @@ -3507,6 +4803,15 @@ postcss@^5.2.16: source-map "^0.5.6" supports-color "^3.2.3" +postcss@^6.0.1: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + postcss@^7.0.0: version "7.0.32" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" @@ -3516,6 +4821,15 @@ postcss@^7.0.0: source-map "^0.6.1" supports-color "^6.1.0" +postcss@^7.0.1, postcss@^7.0.27, postcss@^7.0.32: + version "7.0.34" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.34.tgz#f2baf57c36010df7de4009940f21532c16d65c20" + integrity sha512-H/7V2VeNScX9KE83GDrDZNiGT1m2H+UTnlinIzhjlLX9hfMUn1mHNnGeX81a1c8JSBdBvqk7c2ZOG6ZPn5itGw== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -3603,6 +4917,18 @@ prettierx@0.11.3: yaml "1.8.3" yaml-unist-parser "1.1.1" +pretty-bytes@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf" + integrity sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8= + dependencies: + number-is-nan "^1.0.0" + +pretty-bytes@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b" + integrity sha512-s1Iam6Gwz3JI5Hweaz4GoCD1WUNUIyzePFy5+Js2hjwGVt2Z79wNN+ZKOZ2vB6C+Xs6njyB84Z1IthQg8d9LxA== + progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -3619,6 +4945,11 @@ promise.allsettled@1.0.2: function-bind "^1.1.1" iterate-value "^1.0.0" +promise.series@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" + integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -3642,6 +4973,11 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" @@ -3821,6 +5157,18 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== + dependencies: + path-parse "^1.0.6" + resolve@1.15.1: version "1.15.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" @@ -3828,7 +5176,7 @@ resolve@1.15.1: dependencies: path-parse "^1.0.6" -resolve@^1.3.2: +resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.16.0, resolve@^1.3.2: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -3856,6 +5204,16 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -3870,6 +5228,86 @@ rimraf@^3.0.0: dependencies: glob "^7.1.3" +rollup-plugin-bundle-size@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-bundle-size/-/rollup-plugin-bundle-size-1.0.3.tgz#d245cd988486b4040279f9fd33f357f61673e90f" + integrity sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ== + dependencies: + chalk "^1.1.3" + maxmin "^2.1.0" + +rollup-plugin-es3@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-es3/-/rollup-plugin-es3-1.1.0.tgz#f866f91b4db839e5b475d8e4a7b9d4c77ecade14" + integrity sha512-jTMqQgMZ/tkjRW4scf4ln5c0OiTSi+Lx/IEyFd41ldgGoLvvg9AQxmVOl93+KaoyB7XRYToYjiHDvO40NPF/fA== + dependencies: + magic-string "^0.22.4" + +rollup-plugin-postcss@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-2.9.0.tgz#e6ea0a1b8fdc4a49fc0385da58804e332750c282" + integrity sha512-Y7qDwlqjZMBexbB1kRJf+jKIQL8HR6C+ay53YzN+nNJ64hn1PNZfBE3c61hFUhD//zrMwmm7uBW30RuTi+CD0w== + dependencies: + chalk "^4.0.0" + concat-with-sourcemaps "^1.1.0" + cssnano "^4.1.10" + import-cwd "^3.0.0" + p-queue "^6.3.0" + pify "^5.0.0" + postcss "^7.0.27" + postcss-load-config "^2.1.0" + postcss-modules "^2.0.0" + promise.series "^0.2.0" + resolve "^1.16.0" + rollup-pluginutils "^2.8.2" + safe-identifier "^0.4.1" + style-inject "^0.3.0" + +rollup-plugin-terser@^5.3.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" + integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== + dependencies: + "@babel/code-frame" "^7.5.5" + jest-worker "^24.9.0" + rollup-pluginutils "^2.8.2" + serialize-javascript "^4.0.0" + terser "^4.6.2" + +rollup-plugin-typescript2@^0.25.3: + version "0.25.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.25.3.tgz#a5fb2f0f85488789334ce540abe6c7011cbdf40f" + integrity sha512-ADkSaidKBovJmf5VBnZBZe+WzaZwofuvYdzGAKTN/J4hN7QJCFYAq7IrH9caxlru6T5qhX41PNFS1S4HqhsGQg== + dependencies: + find-cache-dir "^3.0.0" + fs-extra "8.1.0" + resolve "1.12.0" + rollup-pluginutils "2.8.1" + tslib "1.10.0" + +rollup-pluginutils@2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97" + integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== + dependencies: + estree-walker "^0.6.1" + +rollup-pluginutils@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" + +rollup@^1.32.1: + version "1.32.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" + integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== + dependencies: + "@types/estree" "*" + "@types/node" "*" + acorn "^7.1.0" + run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -3887,6 +5325,13 @@ rxjs@^6.3.3, rxjs@^6.6.0: dependencies: tslib "^1.9.0" +sade@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.3.tgz#a217ccc4fb4abb2d271648bf48f6628b2636fa1b" + integrity sha512-m4BctppMvJ60W1dXnHq7jMmFe3hPJZDAH85kQ3ACTo7XZNVUuTItCQ+2HfyaMeV5cKrbw7l4vD/6We3GBxvdJw== + dependencies: + mri "^1.1.0" + safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -3897,11 +5342,21 @@ safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-identifier@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/safe-identifier/-/safe-identifier-0.4.2.tgz#cf6bfca31c2897c588092d1750d30ef501d59fcb" + integrity sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w== + "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + saxes@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" @@ -3914,7 +5369,7 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -semver@6.3.0, semver@^6.1.2, semver@^6.3.0: +semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -3929,7 +5384,7 @@ semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -serialize-javascript@4.0.0: +serialize-javascript@4.0.0, serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== @@ -3980,6 +5435,13 @@ simple-html-tokenizer@^0.5.7: resolved "https://registry.yarnpkg.com/simple-html-tokenizer/-/simple-html-tokenizer-0.5.9.tgz#1a83fe97f5a3e39b335fddf71cfe9b0263b581c2" integrity sha512-w/3FEDN94r4JQ9WoYrIr8RqDIPZdyNkdpbK9glFady1CAEyD97XWCv8HFetQO21w81e7h7Nh59iYTyG1mUJftg== +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -3999,7 +5461,7 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -source-map-support@^0.5.16: +source-map-support@^0.5.16, source-map-support@~0.5.12: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -4007,7 +5469,7 @@ source-map-support@^0.5.16: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -4017,6 +5479,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +sourcemap-codec@^1.4.4: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -4037,6 +5504,11 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + state-toggle@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" @@ -4052,6 +5524,11 @@ string-argv@^0.3.0: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +string-hash@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= + string-width@4.2.0, string-width@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" @@ -4155,6 +5632,20 @@ strip-json-comments@^3.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +style-inject@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" + integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + 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" + supports-color@7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" @@ -4174,7 +5665,7 @@ supports-color@^3.2.3: dependencies: has-flag "^1.0.0" -supports-color@^5.3.0: +supports-color@^5.3.0, supports-color@^5.4.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -4195,6 +5686,25 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + 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" + symbol-observable@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -4215,6 +5725,15 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" +terser@^4.6.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -4225,6 +5744,19 @@ through@^2.3.6: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-glob@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.6.tgz#9e056e169d9788fe8a734dfa1ff02e9b92ed7eda" + integrity sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw== + dependencies: + globalyzer "^0.1.0" + globrex "^0.1.1" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -4283,7 +5815,12 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + +tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== @@ -4324,6 +5861,11 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +typescript@^3.9.5: + version "3.9.7" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" + integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== + uglify-js@^3.1.4: version "3.10.3" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.3.tgz#f0d2f99736c14de46d2d24649ba328be3e71c3bf" @@ -4390,6 +5932,11 @@ uniq@^1.0.1: resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + unist-util-is@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" @@ -4423,6 +5970,16 @@ unist-util-visit@^1.1.0: dependencies: unist-util-visit-parents "^2.0.0" +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + uri-js@^4.2.2: version "4.4.0" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" @@ -4430,6 +5987,21 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + 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" + util@^0.12.0: version "0.12.3" resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" @@ -4452,6 +6024,11 @@ v8-compile-cache@^2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -4485,6 +6062,11 @@ vfile@^4.0.0: unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" +vlq@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== + vnopts@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/vnopts/-/vnopts-1.0.2.tgz#f6a331473de0179d1679112cc090572b695202f7" @@ -4667,7 +6249,7 @@ yaml@1.8.3: dependencies: "@babel/runtime" "^7.8.7" -yaml@^1.7.1: +yaml@^1.7.1, yaml@^1.7.2: version "1.10.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== From 8d889b559934c9ea6ba82311464c5db22e42f724 Mon Sep 17 00:00:00 2001 From: paramagicdev Date: Wed, 23 Sep 2020 11:10:20 -0400 Subject: [PATCH 004/127] chore: add javascript/dist to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 74b763db..a122a45d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ tmp/ node_modules .vscode +/javascript/dist From ca4da2632aa486b573a50034e29098f5a12b16dc Mon Sep 17 00:00:00 2001 From: paramagicdev Date: Wed, 23 Sep 2020 13:22:44 -0400 Subject: [PATCH 005/127] fix: add AC, stimulus, and CR as devDeps Readd the packages as devDependencies so they get installed during development. (PeerDependencies are not automatically installed) --- javascript/package.json | 5 ++++- javascript/yarn.lock | 49 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/javascript/package.json b/javascript/package.json index 4d3a5fc9..c8d99fb6 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -52,10 +52,13 @@ "@babel/core": "^7.6.2", "@babel/preset-env": "^7.6.2", "@babel/register": "^7.6.2", + "@rails/actioncable": "^6.0.3-3", "assert": "^2.0.0", + "cable_ready": "^4.4.0-pre0", "jsdom": "^16.0.1", "microbundle": "^0.12.3", "mocha": "^8.0.1", - "prettier-standard": "^16.1.0" + "prettier-standard": "^16.1.0", + "stimulus": "^1.1.1" } } diff --git a/javascript/yarn.lock b/javascript/yarn.lock index e525067f..bc2db2f8 100644 --- a/javascript/yarn.lock +++ b/javascript/yarn.lock @@ -1007,6 +1007,11 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" +"@rails/actioncable@^6.0.3-3": + version "6.0.3-3" + resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3-3.tgz#fb1a46d3d353512764d5fa3cea2f492391601b7a" + integrity sha512-+DEbtzvD2ITPKOGBAV0lLdUvImCsHtUYfxwW7TDKOrGNEFqgbVJij7aO6ZE8a3aDPQ7NnO/MlyrPwLVeiIZRSw== + "@rollup/plugin-alias@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.1.tgz#bb96cf37fefeb0a953a6566c284855c7d1cd290c" @@ -1069,6 +1074,30 @@ dependencies: any-observable "^0.3.0" +"@stimulus/core@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@stimulus/core/-/core-1.1.1.tgz#42b0cfe5b73ca492f41de64b77a03980bae92c82" + integrity sha512-PVJv7IpuQx0MVPCBblXc6O2zbCmU8dlxXNH4bC9KK6LsvGaE+PCXXrXQfXUwAsse1/CmRu/iQG7Ov58himjiGg== + dependencies: + "@stimulus/mutation-observers" "^1.1.1" + +"@stimulus/multimap@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@stimulus/multimap/-/multimap-1.1.1.tgz#b95e3fd607345ab36e5d5b55486ee1a12d56b331" + integrity sha512-26R1fI3a8uUj0WlMmta4qcfIQGlagegdP4PTz6lz852q/dXlG6r+uPS/bx+H8GtfyS+OOXVr3SkZ0Zg0iRqRfQ== + +"@stimulus/mutation-observers@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@stimulus/mutation-observers/-/mutation-observers-1.1.1.tgz#0f6c6f081308427fed2a26360dda0c173b79cfc0" + integrity sha512-/zCnnw1KJlWO2mrx0yxYaRFZWMGnDMdOgSnI4hxDLxdWVuL2HMROU8FpHWVBLjKY3T9A+lGkcrmPGDHF3pfS9w== + dependencies: + "@stimulus/multimap" "^1.1.1" + +"@stimulus/webpack-helpers@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@stimulus/webpack-helpers/-/webpack-helpers-1.1.1.tgz#eff60cd4e58b921d1a2764dc5215f5141510f2c2" + integrity sha512-XOkqSw53N9072FLHvpLM25PIwy+ndkSSbnTtjKuyzsv8K5yfkFB2rv68jU1pzqYa9FZLcvZWP4yazC0V38dx9A== + "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" @@ -1510,6 +1539,13 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== +cable_ready@^4.4.0-pre0: + version "4.4.0-pre0" + resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.4.0-pre0.tgz#ed3fb4733c4632982c3fc3f8e7d2ba19fb902793" + integrity sha512-tG6oBgoTCaPinsbH0xJm9VBIJjXe3V9ocv+BlE1N6TKJf0uaBwRIMVvKzPs5t3QT5bTXhR1w+NL34kgAsg133g== + dependencies: + morphdom "^2.6.1" + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -3989,6 +4025,11 @@ module-details-from-path@^1.0.3: resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is= +morphdom@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/morphdom/-/morphdom-2.6.1.tgz#e868e24f989fa3183004b159aed643e628b4306e" + integrity sha512-Y8YRbAEP3eKykroIBWrjcfMw7mmwJfjhqdpSvoqinu8Y702nAwikpXcNFDiIkyvfCLxLM9Wu95RZqo4a9jFBaA== + mri@^1.1.0, mri@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6" @@ -5519,6 +5560,14 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= +stimulus@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stimulus/-/stimulus-1.1.1.tgz#53c2fded6849e7b85eed3ed8dd76e33abd74bec5" + integrity sha512-R0mBqKp48YnRDZOxZ8hiOH4Ilph3Yj78CIFTBkCwyHs4iGCpe7xlEdQ7cjIxb+7qVCSxFKgxO+mAQbsNgt/5XQ== + dependencies: + "@stimulus/core" "^1.1.1" + "@stimulus/webpack-helpers" "^1.1.1" + string-argv@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" From 9ad89eac5ccc82adef036f327c09adde5a643053 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Mon, 5 Oct 2020 23:16:12 +0200 Subject: [PATCH 006/127] force request encodings to be UTF-8 instead of ASCII-8BIT Calling `Rack::MockRequest.env_for()` returns for some reason a Hash with some ASCII-8BIT strings. This commit converts the `params[:action]` and `params[:controller]` back to UTF-8 strings since those are the only params converted to ASCII-8BIT --- lib/stimulus_reflex/reflex.rb | 41 ++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index 688134ef..910f267c 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -43,7 +43,7 @@ def normalize_callback_option!(options, from, to) end end - attr_reader :channel, :url, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name + attr_reader :channel, :url, :url_params, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name delegate :connection, :stream_name, to: :channel delegate :session, to: :request @@ -66,22 +66,27 @@ def request uri = URI.parse(url) path = ActionDispatch::Journey::Router::Utils.normalize_path(uri.path) query_hash = Rack::Utils.parse_nested_query(uri.query) - req = ActionDispatch::Request.new( - connection.env.merge( - Rack::MockRequest.env_for(uri.to_s).merge( - "rack.request.query_hash" => query_hash, - "rack.request.query_string" => uri.query, - "ORIGINAL_SCRIPT_NAME" => "", - "ORIGINAL_FULLPATH" => path, - Rack::SCRIPT_NAME => "", - Rack::PATH_INFO => path, - Rack::REQUEST_PATH => path, - Rack::QUERY_STRING => uri.query - ) - ) + mock_env = Rack::MockRequest.env_for(uri.to_s) + + mock_env.merge!( + "rack.request.query_hash" => query_hash, + "rack.request.query_string" => uri.query, + "ORIGINAL_SCRIPT_NAME" => "", + "ORIGINAL_FULLPATH" => path, + Rack::SCRIPT_NAME => "", + Rack::PATH_INFO => path, + Rack::REQUEST_PATH => path, + Rack::QUERY_STRING => uri.query ) - path_params = Rails.application.routes.recognize_path_with_request(req, url, req.env[:extras] || {}) - req.env.merge(ActionDispatch::Http::Parameters::PARAMETERS_KEY => path_params) + + env = connection.env.merge(mock_env) + req = ActionDispatch::Request.new(env) + + @url_params = Rails.application.routes.recognize_path_with_request(req, url, req.env[:extras] || {}) + @url_params[:controller] = @url_params[:controller].force_encoding("UTF-8") + @url_params[:action] = @url_params[:action].force_encoding("UTF-8") + + req.env.merge(ActionDispatch::Http::Parameters::PARAMETERS_KEY => @url_params) req.env["action_dispatch.request.parameters"] = req.parameters.merge(@params) req.tap { |r| r.session.send :load! } end @@ -112,10 +117,6 @@ def controller end end - def url_params - @url_params ||= Rails.application.routes.recognize_path_with_request(request, request.path, request.env[:extras] || {}) - end - def process(name, *args) reflex_invoked = false result = run_callbacks(:process) { From d0cde272191a9fd99779591cef9a6e3f870e4330 Mon Sep 17 00:00:00 2001 From: s-s Date: Fri, 9 Oct 2020 20:44:21 +0300 Subject: [PATCH 007/127] Opt-in form serialization & params overriding --- javascript/stimulus_reflex.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index 4b5fd58c..a5341ae6 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -114,7 +114,7 @@ const extendStimulusController = controller => { // // - target - the reflex target (full name of the server side reflex) i.e. 'ReflexClassName#method' // - element - [optional] the element that triggered the reflex, defaults to this.element - // - options - [optional] an object that contains at least one of attrs, reflexId, selectors + // - options - [optional] an object that contains at least one of attrs, reflexId, selectors, resolveLate, skipFormSerialization // - *args - remaining arguments are forwarded to the server side reflex method // stimulate () { @@ -137,7 +137,7 @@ const extendStimulusController = controller => { args[0] && typeof args[0] == 'object' && Object.keys(args[0]).filter(key => - ['attrs', 'selectors', 'reflexId', 'resolveLate'].includes(key) + ['attrs', 'selectors', 'reflexId', 'resolveLate', 'skipFormSerialization'].includes(key) ).length ) { const opts = args.shift() @@ -178,14 +178,15 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} + const skipFormSerialization = options['skipFormSerialization'] || false element.reflexData = { ...data, params: { - ...params, - ...serializeForm(element.closest('form'), { + ...!skipFormSerialization && serializeForm(element.closest('form'), { hash: true, empty: true - }) + }), + ...params } } From a2930815b227db0c758230aba7530687378e5087 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Sat, 10 Oct 2020 02:01:11 +0200 Subject: [PATCH 008/127] extract serializeForm function into utils Extract the serializeForm function into utils so we can build something around it. It could be another library to replace 'form-serialize' or even some 'adapter' for non-
tags to extract the form data out of a shadow-dom. --- javascript/stimulus_reflex.js | 3 +-- javascript/utils.js | 7 +++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index c20fed4a..b689c5d2 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -1,11 +1,10 @@ import { Controller } from 'stimulus' import CableReady from 'cable_ready' -import serializeForm from 'form-serialize' import { defaultSchema } from './schema' import { getConsumer } from './consumer' import { dispatchLifecycleEvent } from './lifecycle' import { allReflexControllers } from './controllers' -import { uuidv4, debounce, emitEvent } from './utils' +import { uuidv4, debounce, emitEvent, serializeForm } from './utils' import Log from './log' import { attributeValue, diff --git a/javascript/utils.js b/javascript/utils.js index f0cd314d..7fef728b 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -1,5 +1,8 @@ // uuid4 function taken from stackoverflow // https://stackoverflow.com/a/2117523/554903 + +import formSerialize from 'form-serialize'; + export const uuidv4 = () => { const crypto = window.crypto || window.msCrypto return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => @@ -10,6 +13,10 @@ export const uuidv4 = () => { ) } +export const serializeForm = (form, options = {}) => { + return formSerialize(form, options); +} + export const camelize = (value, uppercaseFirstLetter = true) => { if (typeof value !== 'string') return '' value = value From 1b9eb7751c63de8dd0b18611193f84397ecff79d Mon Sep 17 00:00:00 2001 From: s-s Date: Sat, 10 Oct 2020 11:54:50 +0300 Subject: [PATCH 009/127] code style, make standard happy --- javascript/stimulus_reflex.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index a5341ae6..c1e9432c 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -137,7 +137,13 @@ const extendStimulusController = controller => { args[0] && typeof args[0] == 'object' && Object.keys(args[0]).filter(key => - ['attrs', 'selectors', 'reflexId', 'resolveLate', 'skipFormSerialization'].includes(key) + [ + 'attrs', + 'selectors', + 'reflexId', + 'resolveLate', + 'skipFormSerialization' + ].includes(key) ).length ) { const opts = args.shift() @@ -179,13 +185,16 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} const skipFormSerialization = options['skipFormSerialization'] || false + const formData = skipFormSerialization + ? {} + : serializeForm(element.closest('form'), { + hash: true, + empty: true + }) element.reflexData = { ...data, params: { - ...!skipFormSerialization && serializeForm(element.closest('form'), { - hash: true, - empty: true - }), + ...formData, ...params } } From 45d2514cb5610db2f5216f6cf0cf29d451216dbd Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Sat, 10 Oct 2020 14:53:47 +0200 Subject: [PATCH 010/127] merge form data server-side and get rid of form-serialize --- javascript/package.json | 1 - javascript/stimulus_reflex.js | 12 +++++------- javascript/utils.js | 8 ++++---- javascript/yarn.lock | 5 ----- lib/stimulus_reflex/channel.rb | 3 +++ 5 files changed, 12 insertions(+), 17 deletions(-) diff --git a/javascript/package.json b/javascript/package.json index 343d8472..378727d4 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -38,7 +38,6 @@ "dependencies": { "@rails/actioncable": ">= 6.0", "cable_ready": ">= 4.3.0", - "form-serialize": ">= 0.7.2", "stimulus": ">= 1.1" }, "devDependencies": { diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index b689c5d2..403b566b 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -170,15 +170,13 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} + const form = element.closest('form'); + const form_data = serializeForm(form); + element.reflexData = { ...data, - params: { - ...params, - ...serializeForm(element.closest('form'), { - hash: true, - empty: true - }) - } + params, + form_data } subscription.send(element.reflexData) diff --git a/javascript/utils.js b/javascript/utils.js index 7fef728b..90cdf562 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -1,8 +1,6 @@ // uuid4 function taken from stackoverflow // https://stackoverflow.com/a/2117523/554903 -import formSerialize from 'form-serialize'; - export const uuidv4 = () => { const crypto = window.crypto || window.msCrypto return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c => @@ -13,8 +11,10 @@ export const uuidv4 = () => { ) } -export const serializeForm = (form, options = {}) => { - return formSerialize(form, options); +export const serializeForm = (form) => { + const formData = new FormData(form); + + return Array.from(formData, e => e.map(encodeURIComponent).join('=')).join('&'); } export const camelize = (value, uppercaseFirstLetter = true) => { diff --git a/javascript/yarn.lock b/javascript/yarn.lock index 74e5c2e3..f45c024b 100644 --- a/javascript/yarn.lock +++ b/javascript/yarn.lock @@ -2127,11 +2127,6 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -"form-serialize@>= 0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/form-serialize/-/form-serialize-0.7.2.tgz#b0a2ff0c22026fb6d3d15c9d33f6de6a432e4732" - integrity sha1-sKL/DCICb7bT0VydM/beakMuRzI= - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" diff --git a/lib/stimulus_reflex/channel.rb b/lib/stimulus_reflex/channel.rb index d0283365..a4c9cc93 100644 --- a/lib/stimulus_reflex/channel.rb +++ b/lib/stimulus_reflex/channel.rb @@ -36,6 +36,9 @@ def receive(data) element = StimulusReflex::Element.new(data) permanent_attribute_name = data["permanent_attribute_name"] params = data["params"] || {} + form_data = Rack::Utils.parse_nested_query(data["form_data"] || "") + + params.deep_merge!(form_data) begin begin From 478c4ab2abd413147a66f625687ab6c1b4ca32d0 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Sun, 11 Oct 2020 00:03:46 +0200 Subject: [PATCH 011/127] add first set of tests and small adjustments --- javascript/stimulus_reflex.js | 4 +- javascript/test/utils.serializeForm.test.js | 108 ++++++++++++++++++++ javascript/utils.js | 6 +- lib/stimulus_reflex/channel.rb | 3 +- 4 files changed, 114 insertions(+), 7 deletions(-) create mode 100644 javascript/test/utils.serializeForm.test.js diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index 26f4c270..24535ab3 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -179,8 +179,8 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} - const form = element.closest('form'); - const form_data = serializeForm(form); + const form = element.closest('form') + const form_data = serializeForm(form) element.reflexData = { ...data, diff --git a/javascript/test/utils.serializeForm.test.js b/javascript/test/utils.serializeForm.test.js new file mode 100644 index 00000000..5e128f52 --- /dev/null +++ b/javascript/test/utils.serializeForm.test.js @@ -0,0 +1,108 @@ +import assert from 'assert' +import { JSDOM } from 'jsdom' +import { serializeForm } from '../utils' + +describe('formSerialize', () => { + it('should serialize text input and textarea', () => { + const dom = new JSDOM( + '' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = + 'name=StimulusReflex&description=An exciting new way to build modern, reactive, real-time apps with Ruby on Rails.' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text input with spaces in name', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = 'name 1=StimulusReflex' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text input array', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = 'name[]=StimulusReflex&name[]=CableReady' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize nested text input', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = 'person[name]=Bob' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize checkboxes', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = 'foo=on&baz=on' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize checkbox array', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = 'foo[]=bar&foo[]=baz' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize disabled inputs', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = 'foo=bar 1' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize disabled and empty inputs', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = 'foo=' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text input array with number index', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = + 'person[address][23][city]=Paris&person[address][45][city]=London' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text input array with non-number index', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('#form') + const actual = serializeForm(form, dom.window) + const expected = + 'person[address][23_id][city]=Paris&person[address][45_id][city]=London' + assert.deepStrictEqual(actual, expected) + }) +}) diff --git a/javascript/utils.js b/javascript/utils.js index 90cdf562..0c3ca112 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -11,10 +11,10 @@ export const uuidv4 = () => { ) } -export const serializeForm = (form) => { - const formData = new FormData(form); +export const serializeForm = (form, w = window) => { + const formData = new w.FormData(form) - return Array.from(formData, e => e.map(encodeURIComponent).join('=')).join('&'); + return Array.from(formData, e => e.join('=')).join('&') } export const camelize = (value, uppercaseFirstLetter = true) => { diff --git a/lib/stimulus_reflex/channel.rb b/lib/stimulus_reflex/channel.rb index aecaea80..b86dc213 100644 --- a/lib/stimulus_reflex/channel.rb +++ b/lib/stimulus_reflex/channel.rb @@ -35,9 +35,8 @@ def receive(data) arguments = (data["args"] || []).map { |arg| object_with_indifferent_access arg } element = StimulusReflex::Element.new(data) permanent_attribute_name = data["permanent_attribute_name"] - params = data["params"] || {} form_data = Rack::Utils.parse_nested_query(data["form_data"] || "") - + params = data["params"] || {} params.deep_merge!(form_data) begin From 0324e7a99c9c581ef4ed6f5d2205d164b3e0fbc3 Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Sat, 10 Oct 2020 19:47:20 -0400 Subject: [PATCH 012/127] Update stimulus_reflex.js --- javascript/stimulus_reflex.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index c1e9432c..8c0ef05d 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -114,7 +114,7 @@ const extendStimulusController = controller => { // // - target - the reflex target (full name of the server side reflex) i.e. 'ReflexClassName#method' // - element - [optional] the element that triggered the reflex, defaults to this.element - // - options - [optional] an object that contains at least one of attrs, reflexId, selectors, resolveLate, skipFormSerialization + // - options - [optional] an object that contains at least one of attrs, reflexId, selectors, resolveLate, serialize // - *args - remaining arguments are forwarded to the server side reflex method // stimulate () { @@ -142,7 +142,7 @@ const extendStimulusController = controller => { 'selectors', 'reflexId', 'resolveLate', - 'skipFormSerialization' + 'serialize' ].includes(key) ).length ) { @@ -184,8 +184,7 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} - const skipFormSerialization = options['skipFormSerialization'] || false - const formData = skipFormSerialization + const formData = options['serialize'] == false ? {} : serializeForm(element.closest('form'), { hash: true, From 4f7df5980c4d072b46a1237432ec20d1fb00f6a5 Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Sat, 10 Oct 2020 20:04:15 -0400 Subject: [PATCH 013/127] Update stimulus_reflex.js --- javascript/stimulus_reflex.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index 8c0ef05d..d0f21d46 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -184,12 +184,13 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} - const formData = options['serialize'] == false - ? {} - : serializeForm(element.closest('form'), { - hash: true, - empty: true - }) + const formData = + options['serialize'] == false + ? {} + : serializeForm(element.closest('form'), { + hash: true, + empty: true + }) element.reflexData = { ...data, params: { From e6cf50122e923990c1582570335bc7e43af31c4e Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Tue, 13 Oct 2020 11:43:33 +0200 Subject: [PATCH 014/127] change order of merging to allow `params` overwriting --- lib/stimulus_reflex/channel.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/stimulus_reflex/channel.rb b/lib/stimulus_reflex/channel.rb index b86dc213..b69e8f2f 100644 --- a/lib/stimulus_reflex/channel.rb +++ b/lib/stimulus_reflex/channel.rb @@ -36,8 +36,7 @@ def receive(data) element = StimulusReflex::Element.new(data) permanent_attribute_name = data["permanent_attribute_name"] form_data = Rack::Utils.parse_nested_query(data["form_data"] || "") - params = data["params"] || {} - params.deep_merge!(form_data) + params = form_data.deep_merge(data["params"] || {}) begin begin From 92fed14dc999aa1c78e57da2afdcae20e540e6d0 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 18 Oct 2020 19:54:46 +0000 Subject: [PATCH 015/127] [nodoc] update changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 79729ff3..6fdda236 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ - Append short section about resetting a form [\#319](https://github.com/hopsoft/stimulus_reflex/pull/319) ([julianrubisch](https://github.com/julianrubisch)) - lifecycle refactor: introduce new finalize stage, global reflexes dictionary [\#317](https://github.com/hopsoft/stimulus_reflex/pull/317) ([leastbad](https://github.com/leastbad)) - Update events.md [\#316](https://github.com/hopsoft/stimulus_reflex/pull/316) ([gahia](https://github.com/gahia)) +- Proposal: Reduce bundle size and add a bundler for Stimulus Reflex javascript [\#315](https://github.com/hopsoft/stimulus_reflex/pull/315) ([ParamagicDev](https://github.com/ParamagicDev)) ## [v3.3.0](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0) (2020-09-22) @@ -446,6 +447,7 @@ **Implemented enhancements:** - Reload session prior to each reflex accessing it [\#131](https://github.com/hopsoft/stimulus_reflex/pull/131) ([hopsoft](https://github.com/hopsoft)) +- tweak prettier-standard and add actions caching [\#125](https://github.com/hopsoft/stimulus_reflex/pull/125) ([andrewmcodes](https://github.com/andrewmcodes)) **Closed issues:** @@ -495,7 +497,6 @@ **Implemented enhancements:** -- tweak prettier-standard and add actions caching [\#125](https://github.com/hopsoft/stimulus_reflex/pull/125) ([andrewmcodes](https://github.com/andrewmcodes)) - More defense in the received handler [\#107](https://github.com/hopsoft/stimulus_reflex/pull/107) ([hopsoft](https://github.com/hopsoft)) **Fixed bugs:** From 5344a3dbbba4a3fff26c0fa8de62ec9f266f7bad Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Mon, 19 Oct 2020 01:03:51 +0200 Subject: [PATCH 016/127] also serialize button which triggered the action --- javascript/stimulus_reflex.js | 2 +- javascript/utils.js | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index 24535ab3..f5044f22 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -180,7 +180,7 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} const form = element.closest('form') - const form_data = serializeForm(form) + const form_data = serializeForm(form, { element }) element.reflexData = { ...data, diff --git a/javascript/utils.js b/javascript/utils.js index 0c3ca112..d790fc19 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -11,10 +11,17 @@ export const uuidv4 = () => { ) } -export const serializeForm = (form, w = window) => { +export const serializeForm = (form, options = { w: window }) => { + const { element, w } = options; + const formData = new w.FormData(form) + const data = Array.from(formData, e => e.join('=')); + + if (element && element.name) { + data.push(`${element.name}=${element.value}`) + } - return Array.from(formData, e => e.join('=')).join('&') + return Array.from(new Set(data)).join('&'); } export const camelize = (value, uppercaseFirstLetter = true) => { From 8d01683bb996776817f8c4352c19f6e396405541 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Mon, 19 Oct 2020 01:05:47 +0200 Subject: [PATCH 017/127] add tests --- javascript/test/utils.serializeForm.test.js | 566 +++++++++++++++++--- 1 file changed, 481 insertions(+), 85 deletions(-) diff --git a/javascript/test/utils.serializeForm.test.js b/javascript/test/utils.serializeForm.test.js index 5e128f52..a3f79570 100644 --- a/javascript/test/utils.serializeForm.test.js +++ b/javascript/test/utils.serializeForm.test.js @@ -3,106 +3,502 @@ import { JSDOM } from 'jsdom' import { serializeForm } from '../utils' describe('formSerialize', () => { - it('should serialize text input and textarea', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = - 'name=StimulusReflex&description=An exciting new way to build modern, reactive, real-time apps with Ruby on Rails.' - assert.deepStrictEqual(actual, expected) - }) - it('should serialize text input with spaces in name', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = 'name 1=StimulusReflex' - assert.deepStrictEqual(actual, expected) - }) + context('basic', () => { + it('should serialize empty form', () => { + const dom = new JSDOM('
') + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = '' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize basic form with single input', () => { + const dom = new JSDOM( + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=bar' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize inputs with no values', () => { + const dom = new JSDOM('
') + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=' + assert.deepStrictEqual(actual, expected) + }) - it('should serialize text input array', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = 'name[]=StimulusReflex&name[]=CableReady' - assert.deepStrictEqual(actual, expected) + it('should serialize text input with spaces in name', () => { + const dom = new JSDOM('
') + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'name 1=StimulusReflex' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize from with multiple inputs', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=bar 1&foo.bar=bar 2&baz.foo=bar 3' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text input and textarea', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = + 'name=StimulusReflex&description=An exciting new way to build modern, reactive, real-time apps with Ruby on Rails.' + assert.deepStrictEqual(actual, expected) + }) + + it('should ignore disabled inputs', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=bar 1' + assert.deepStrictEqual(actual, expected) + }) }) - it('should serialize nested text input', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = 'person[name]=Bob' - assert.deepStrictEqual(actual, expected) + context('', () => { + it('should serialize checkboxes', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=on&baz=on' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize checkbox array', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo[]=bar&foo[]=baz' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize checkbox array with one input', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo[]=bar' + assert.deepStrictEqual(actual, expected) + }) }) - it('should serialize checkboxes', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = 'foo=on&baz=on' - assert.deepStrictEqual(actual, expected) + context('', () => { + it('should serialize radio button with no checked input', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = '' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize radio button', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=bar1' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize radio button with empty input', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize radio and checkbox with the same key', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=bar1&foo=bar3' + assert.deepStrictEqual(actual, expected) + }) }) - it('should serialize checkbox array', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = 'foo[]=bar&foo[]=baz' - assert.deepStrictEqual(actual, expected) + context(' - buttons', () => { + it('should not serialize buttons', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('input[type="submit"]') + const actual = serializeForm(form, { w: dom.window }) + const expected = '' + assert.deepStrictEqual(actual, expected) + }) }) - it('should serialize disabled inputs', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = 'foo=bar 1' - assert.deepStrictEqual(actual, expected) + context(' - brackets notation', () => { + it('should serialize text inputs with brackets notation', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'name[]=StimulusReflex&name[]=CableReady' + assert.deepStrictEqual(actual, expected) + }) + + + it('should serialize text inputs with nested brackets notation', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'account[name]=Foo Dude&account[email]=foobar@example.org&account[address][city]=Qux&account[address][state]=CA&account[address][empty]=' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text inputs with brackets notation and nested numbered index', () => { + const dom = new JSDOM( + '
' + + '' + + ' ' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = + 'person[address][23][city]=Paris&person[address][45][city]=London' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text inputs with brackets notation and nested non-numbered index', () => { + const dom = new JSDOM( + '
'+ + '' + + ''+ + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = + 'person[address][23_id][city]=Paris&person[address][45_id][city]=London' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text inputs with non-indexed bracket notation', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'people[][name]=fred&people[][name]=bob&people[][name]=bubba' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text inputs with non-indexed nested bracket notation', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'user[tags][]=cow&user[tags][]=milk' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize text inputs with indexed bracket notation', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'people[2][name]=bubba&people[2][age]=15&people[0][name]=fred&people[0][age]=12&people[1][name]=bob&people[1][age]=14&people[][name]=frank&people[3][age]=2' + assert.deepStrictEqual(actual, expected) + }) }) - it('should serialize disabled and empty inputs', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = 'foo=' - assert.deepStrictEqual(actual, expected) + context('' + + '' + + '' + + '' + + '' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=baz' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize select with empty option', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=' + assert.deepStrictEqual(actual, expected) + }) }) - it('should serialize text input array with number index', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = - 'person[address][23][city]=Paris&person[address][45][city]=London' - assert.deepStrictEqual(actual, expected) + context('' + + '' + + '' + + '' + + '' + + '' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=bar&foo=cat' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize select multiple with empty option', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo=&foo=bar' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize select multiple with bracket notation', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo[]=bar&foo[]=qux' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize select multiple with bracket notation and empty option', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo[bar]=Default value&foo[bar]=&foo[bar]=baz&foo[bar]=norf' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize select multiple with nested bracket notation', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window}) + const expected = 'foo[bar]=baz&foo[bar]=norf' + assert.deepStrictEqual(actual, expected) + }) }) - it('should serialize text input array with non-number index', () => { - const dom = new JSDOM( - '
' - ) - const form = dom.window.document.querySelector('#form') - const actual = serializeForm(form, dom.window) - const expected = - 'person[address][23_id][city]=Paris&person[address][45_id][city]=London' - assert.deepStrictEqual(actual, expected) + context('attach input name if input triggered action', () => { + it('should serialize button if button triggered action', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('input[type="submit"]') + const actual = serializeForm(form, { w: dom.window, element }) + const expected = 'commit=Create Post' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize inputs and button which triggered the action', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('input[type="submit"]') + const actual = serializeForm(form, { w: dom.window, element }) + const expected = 'title=Post&commit=Create Post' + assert.deepStrictEqual(actual, expected) + }) + + it('should serialize empty button if button triggered action', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('input[type="submit"]') + const actual = serializeForm(form, { w: dom.window, element }) + const expected = 'commit=' + assert.deepStrictEqual(actual, expected) + }) + + it('should not serialize if input has no name', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('input') + const actual = serializeForm(form, { w: dom.window, element }) + const expected = '' + assert.deepStrictEqual(actual, expected) + }) + + it('should not serialize if element is no input', () => { + const dom = new JSDOM( + '
' + + '' + + '
bar
' + + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('div') + const actual = serializeForm(form, { w: dom.window, element }) + const expected = '' + assert.deepStrictEqual(actual, expected) + }) + + it('should not serialize input twice if input also triggered the action', () => { + const dom = new JSDOM( + '
' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('input') + const actual = serializeForm(form, { w: dom.window, element }) + const expected = 'commit=Create Post' + assert.deepStrictEqual(actual, expected) + }) }) }) From 888c2635e4cc65efaca1d92d3b2d6949c3d91758 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Mon, 19 Oct 2020 01:12:44 +0200 Subject: [PATCH 018/127] run `yarn prettier-standard:format` --- javascript/test/utils.serializeForm.test.js | 188 ++++++++++---------- javascript/utils.js | 6 +- 2 files changed, 98 insertions(+), 96 deletions(-) diff --git a/javascript/test/utils.serializeForm.test.js b/javascript/test/utils.serializeForm.test.js index a3f79570..55ef308a 100644 --- a/javascript/test/utils.serializeForm.test.js +++ b/javascript/test/utils.serializeForm.test.js @@ -3,12 +3,11 @@ import { JSDOM } from 'jsdom' import { serializeForm } from '../utils' describe('formSerialize', () => { - context('basic', () => { it('should serialize empty form', () => { const dom = new JSDOM('
') const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = '' assert.deepStrictEqual(actual, expected) }) @@ -18,7 +17,7 @@ describe('formSerialize', () => { '
' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar' assert.deepStrictEqual(actual, expected) }) @@ -26,15 +25,17 @@ describe('formSerialize', () => { it('should serialize inputs with no values', () => { const dom = new JSDOM('
') const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=' assert.deepStrictEqual(actual, expected) }) it('should serialize text input with spaces in name', () => { - const dom = new JSDOM('
') + const dom = new JSDOM( + '
' + ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'name 1=StimulusReflex' assert.deepStrictEqual(actual, expected) }) @@ -45,10 +46,10 @@ describe('formSerialize', () => { '' + '' + '' + - '' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar 1&foo.bar=bar 2&baz.foo=bar 3' assert.deepStrictEqual(actual, expected) }) @@ -58,10 +59,10 @@ describe('formSerialize', () => { '
' + '' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'name=StimulusReflex&description=An exciting new way to build modern, reactive, real-time apps with Ruby on Rails.' assert.deepStrictEqual(actual, expected) @@ -72,10 +73,10 @@ describe('formSerialize', () => { '
' + '' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar 1' assert.deepStrictEqual(actual, expected) }) @@ -88,10 +89,10 @@ describe('formSerialize', () => { '' + '' + '' + - '' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=on&baz=on' assert.deepStrictEqual(actual, expected) }) @@ -102,10 +103,10 @@ describe('formSerialize', () => { '' + '' + '' + - '' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo[]=bar&foo[]=baz' assert.deepStrictEqual(actual, expected) }) @@ -114,10 +115,10 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo[]=bar' assert.deepStrictEqual(actual, expected) }) @@ -129,10 +130,10 @@ describe('formSerialize', () => { '
' + '' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = '' assert.deepStrictEqual(actual, expected) }) @@ -142,10 +143,10 @@ describe('formSerialize', () => { '
' + '' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar1' assert.deepStrictEqual(actual, expected) }) @@ -155,10 +156,10 @@ describe('formSerialize', () => { '
' + '' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=' assert.deepStrictEqual(actual, expected) }) @@ -170,10 +171,10 @@ describe('formSerialize', () => { '' + '' + '' + - '' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar1&foo=bar3' assert.deepStrictEqual(actual, expected) }) @@ -186,7 +187,7 @@ describe('formSerialize', () => { '' + '' + '' + - '' + '' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('input[type="submit"]') @@ -202,15 +203,14 @@ describe('formSerialize', () => { '
' + '' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'name[]=StimulusReflex&name[]=CableReady' assert.deepStrictEqual(actual, expected) }) - it('should serialize text inputs with nested brackets notation', () => { const dom = new JSDOM( '
' + @@ -219,11 +219,12 @@ describe('formSerialize', () => { '' + '' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) - const expected = 'account[name]=Foo Dude&account[email]=foobar@example.org&account[address][city]=Qux&account[address][state]=CA&account[address][empty]=' + const actual = serializeForm(form, { w: dom.window }) + const expected = + 'account[name]=Foo Dude&account[email]=foobar@example.org&account[address][city]=Qux&account[address][state]=CA&account[address][empty]=' assert.deepStrictEqual(actual, expected) }) @@ -232,10 +233,10 @@ describe('formSerialize', () => { '
' + '' + ' ' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'person[address][23][city]=Paris&person[address][45][city]=London' assert.deepStrictEqual(actual, expected) @@ -243,13 +244,13 @@ describe('formSerialize', () => { it('should serialize text inputs with brackets notation and nested non-numbered index', () => { const dom = new JSDOM( - '
'+ + '' + '' + - ''+ - '
' + '' + + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'person[address][23_id][city]=Paris&person[address][45_id][city]=London' assert.deepStrictEqual(actual, expected) @@ -261,11 +262,12 @@ describe('formSerialize', () => { '' + '' + '' + - '' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) - const expected = 'people[][name]=fred&people[][name]=bob&people[][name]=bubba' + const actual = serializeForm(form, { w: dom.window }) + const expected = + 'people[][name]=fred&people[][name]=bob&people[][name]=bubba' assert.deepStrictEqual(actual, expected) }) @@ -274,10 +276,10 @@ describe('formSerialize', () => { '
' + '' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'user[tags][]=cow&user[tags][]=milk' assert.deepStrictEqual(actual, expected) }) @@ -293,11 +295,12 @@ describe('formSerialize', () => { '' + '' + '' + - '' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) - const expected = 'people[2][name]=bubba&people[2][age]=15&people[0][name]=fred&people[0][age]=12&people[1][name]=bob&people[1][age]=14&people[][name]=frank&people[3][age]=2' + const actual = serializeForm(form, { w: dom.window }) + const expected = + 'people[2][name]=bubba&people[2][age]=15&people[0][name]=fred&people[0][age]=12&people[1][name]=bob&people[1][age]=14&people[][name]=frank&people[3][age]=2' assert.deepStrictEqual(actual, expected) }) }) @@ -307,13 +310,13 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=baz' assert.deepStrictEqual(actual, expected) }) @@ -322,14 +325,14 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=' assert.deepStrictEqual(actual, expected) }) @@ -340,14 +343,14 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar&foo=cat' assert.deepStrictEqual(actual, expected) }) @@ -356,15 +359,15 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=&foo=bar' assert.deepStrictEqual(actual, expected) }) @@ -373,14 +376,14 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo[]=bar&foo[]=qux' assert.deepStrictEqual(actual, expected) }) @@ -389,17 +392,18 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) - const expected = 'foo[bar]=Default value&foo[bar]=&foo[bar]=baz&foo[bar]=norf' + const actual = serializeForm(form, { w: dom.window }) + const expected = + 'foo[bar]=Default value&foo[bar]=&foo[bar]=baz&foo[bar]=norf' assert.deepStrictEqual(actual, expected) }) @@ -407,14 +411,14 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') - const actual = serializeForm(form, { w: dom.window}) + const actual = serializeForm(form, { w: dom.window }) const expected = 'foo[bar]=baz&foo[bar]=norf' assert.deepStrictEqual(actual, expected) }) @@ -425,7 +429,7 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('input[type="submit"]') @@ -439,7 +443,7 @@ describe('formSerialize', () => { '
' + '' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('input[type="submit"]') @@ -450,9 +454,7 @@ describe('formSerialize', () => { it('should serialize empty button if button triggered action', () => { const dom = new JSDOM( - '
' + - '' + - '
' + '
' + '' + '
' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('input[type="submit"]') @@ -465,7 +467,7 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('input') @@ -479,7 +481,7 @@ describe('formSerialize', () => { '
' + '' + '
bar
' + - '
' + '' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('div') @@ -492,7 +494,7 @@ describe('formSerialize', () => { const dom = new JSDOM( '
' + '' + - '
' + '' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('input') diff --git a/javascript/utils.js b/javascript/utils.js index d790fc19..da18119a 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -12,16 +12,16 @@ export const uuidv4 = () => { } export const serializeForm = (form, options = { w: window }) => { - const { element, w } = options; + const { element, w } = options const formData = new w.FormData(form) - const data = Array.from(formData, e => e.join('=')); + const data = Array.from(formData, e => e.join('=')) if (element && element.name) { data.push(`${element.name}=${element.value}`) } - return Array.from(new Set(data)).join('&'); + return Array.from(new Set(data)).join('&') } export const camelize = (value, uppercaseFirstLetter = true) => { From 22a1c9877ba47d2cadfced4c3f1b4a8cb9a368e8 Mon Sep 17 00:00:00 2001 From: Sergey Date: Mon, 19 Oct 2020 18:30:54 +0300 Subject: [PATCH 019/127] Update stimulus_reflex.js refactor: raname `serialize` to `serializeForm` --- javascript/stimulus_reflex.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index d0f21d46..8d5d175b 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -114,7 +114,7 @@ const extendStimulusController = controller => { // // - target - the reflex target (full name of the server side reflex) i.e. 'ReflexClassName#method' // - element - [optional] the element that triggered the reflex, defaults to this.element - // - options - [optional] an object that contains at least one of attrs, reflexId, selectors, resolveLate, serialize + // - options - [optional] an object that contains at least one of attrs, reflexId, selectors, resolveLate, serializeForm // - *args - remaining arguments are forwarded to the server side reflex method // stimulate () { @@ -142,7 +142,7 @@ const extendStimulusController = controller => { 'selectors', 'reflexId', 'resolveLate', - 'serialize' + 'serializeForm' ].includes(key) ).length ) { @@ -185,7 +185,7 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} const formData = - options['serialize'] == false + options['serializeForm'] == false ? {} : serializeForm(element.closest('form'), { hash: true, From 02cc93cd4158aa69abba908ecdf3164eac2a27dc Mon Sep 17 00:00:00 2001 From: leastbad Date: Tue, 20 Oct 2020 18:53:57 -0400 Subject: [PATCH 020/127] progress --- javascript/lifecycle.js | 2 +- javascript/log.js | 12 ++-- javascript/stimulus_reflex.js | 78 +++++++++++++++++++------- javascript/utils.js | 37 ++++++++++++ lib/stimulus_reflex/channel.rb | 2 +- lib/tasks/stimulus_reflex/install.rake | 2 +- 6 files changed, 105 insertions(+), 28 deletions(-) diff --git a/javascript/lifecycle.js b/javascript/lifecycle.js index e2577ef3..c7fa4726 100644 --- a/javascript/lifecycle.js +++ b/javascript/lifecycle.js @@ -17,7 +17,7 @@ const invokeLifecycleMethod = (stage, element, reflexId) => { const controller = element.reflexController const reflex = element.reflexData.target const reflexMethodName = reflex.split('#')[1] - + console.log(controller) const specificLifecycleMethodName = ['before', 'after', 'finalize'].includes( stage ) diff --git a/javascript/log.js b/javascript/log.js index 95e9d489..499fa674 100644 --- a/javascript/log.js +++ b/javascript/log.js @@ -17,7 +17,9 @@ function success (event) { reflex.totalOperations > 1 ? ` ${reflex.completedOperations}/${reflex.totalOperations}` : '' - const duration = `${new Date() - reflex.timestamp}ms` + const duration = reflex.timestamp + ? `in ${new Date() - reflex.timestamp}ms` + : 'CLONED' const operation = event.type .split(':')[1] .split('-') @@ -26,7 +28,7 @@ function success (event) { const halted = (serverMessage && serverMessage.subject == 'halted') || false console.log( `\u2193 reflex \u2193 ${target} \u2192 ${selector || - '\u221E'}${progress} in ${duration}`, + '\u221E'}${progress} ${duration}`, { reflexId, morph, operation, halted } ) } @@ -34,10 +36,12 @@ function success (event) { function error (event) { const { detail } = event || {} const { reflexId, target, serverMessage } = detail.stimulusReflex || {} - const duration = `${new Date() - reflexes[reflexId].timestamp}ms` + const duration = reflex.timestamp + ? `in ${new Date() - reflex.timestamp}ms` + : 'CLONED' const payload = detail.stimulusReflex console.log( - `\u2193 reflex \u2193 ${target} in ${duration} %cERROR: ${serverMessage.body}`, + `\u2193 reflex \u2193 ${target} ${duration} %cERROR: ${serverMessage.body}`, 'color: #f00;', { reflexId, payload } ) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index 31f74907..ed034873 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -14,7 +14,7 @@ import { extractElementDataset, findElement } from './attributes' -import { extractReflexName } from './utils' +import { extractReflexName, elementToxPath, xPathToElement } from './utils' // A lambda that does nothing. Very zen; we are made of stars const NOOP = () => {} @@ -37,6 +37,9 @@ window.reflexes = {} // Indicates if we should log calls to stimulate, etc... let debugging +// Should Reflex playback be restricted to the tab that called it? +let isolationMode + // Subscribes a StimulusReflex controller to an ActionCable channel. // controller - the StimulusReflex controller to subscribe // @@ -45,17 +48,18 @@ const createSubscription = controller => { const { channel } = controller.StimulusReflex const subscription = { channel, ...actionCableParams } const identifier = JSON.stringify(subscription) - let totalOperations - let reflexId controller.StimulusReflex.subscription = actionCableConsumer.subscriptions.findAll(identifier)[0] || actionCableConsumer.subscriptions.create(subscription, { received: data => { if (!data.cableReady) return + if (data.operations['dispatchEvent']) return CableReady.perform(data.operations) - totalOperations = 0 + + let totalOperations = 0 + let reflexData ;['morph', 'innerHtml'].forEach(operation => { if (data.operations[operation] && data.operations[operation].length) { if (data.operations[operation][0].stimulusReflex) { @@ -65,17 +69,35 @@ const createSubscription = controller => { ) ) if (urls.length !== 1 || urls[0] !== location.href) return - totalOperations += data.operations[operation].length - reflexId = data.operations[operation][0].stimulusReflex.reflexId + + totalOperations++ + + if (!reflexData) + reflexData = data.operations[operation][0].stimulusReflex } } }) + + const { reflexId } = reflexData + + if (!reflexes[reflexId] && !isolationMode) { + const element = xPathToElement(reflexData.xpath) + element.reflexController = stimulusApplication.getControllerForElementAndIdentifier( + element, + reflexData.reflexController + ) + console.log(element) + element.reflexData = reflexData + dispatchLifecycleEvent('before', element, reflexId) + registerReflex(reflexData) + } + if (reflexes[reflexId]) { reflexes[reflexId].totalOperations = totalOperations reflexes[reflexId].pendingOperations = 0 reflexes[reflexId].completedOperations = 0 + CableReady.perform(data.operations) } - if (reflexes[reflexId]) CableReady.perform(data.operations) }, connected: () => { actionCableSubscriptionActive = true @@ -128,6 +150,7 @@ const extendStimulusController = controller => { element.validity && element.validity.badInput ) { + if (debugging) console.warn('Reflex aborted: invalid numeric input') return } const options = {} @@ -148,6 +171,8 @@ const extendStimulusController = controller => { const resolveLate = options['resolveLate'] || false const datasetAttribute = stimulusApplication.schema.reflexDatasetAttribute const dataset = extractElementDataset(element, datasetAttribute) + let xpath = elementToxPath(element) + xpath = xpath.startsWith('//*') ? xpath : '/html/' + xpath const data = { target, args, @@ -157,7 +182,9 @@ const extendStimulusController = controller => { selectors, reflexId, resolveLate, - permanent_attribute_name: + xpath, + reflexController: this.identifier, + permanentAttributeName: stimulusApplication.schema.reflexPermanentAttribute } const { subscription } = this.StimulusReflex @@ -190,7 +217,7 @@ const extendStimulusController = controller => { subscription.send(element.reflexData) }) - reflexes[reflexId] = { finalStage: 'finalize' } + const promise = registerReflex(data) if (debugging) { Log.request( @@ -202,17 +229,6 @@ const extendStimulusController = controller => { ) } - const promise = new Promise((resolve, reject) => { - reflexes[reflexId].promise = { - resolve, - reject, - data - } - }) - - promise.reflexId = reflexId - - if (debugging) promise.catch(NOOP) return promise }, @@ -242,6 +258,25 @@ const extendStimulusController = controller => { }) } +const registerReflex = data => { + const { reflexId } = data + reflexes[reflexId] = { finalStage: 'finalize' } + + const promise = new Promise((resolve, reject) => { + reflexes[reflexId].promise = { + resolve, + reject, + data + } + }) + + promise.reflexId = reflexId + + if (debugging) promise.catch(NOOP) + + return promise +} + // Registers a Stimulus controller and extends it with StimulusReflex behavior // // controller - the Stimulus controller @@ -383,9 +418,10 @@ const getReflexRoots = element => { // * isolate - [false] restrict Reflex playback to the tab which initiated it // const initialize = (application, initializeOptions = {}) => { - const { controller, consumer, debug, params } = initializeOptions + const { controller, consumer, debug, params, isolate } = initializeOptions actionCableConsumer = consumer actionCableParams = params + isolationMode = !!isolate stimulusApplication = application stimulusApplication.schema = { ...defaultSchema, ...application.schema } stimulusApplication.register( diff --git a/javascript/utils.js b/javascript/utils.js index f0cd314d..84787c09 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -49,3 +49,40 @@ export const emitEvent = (event, detail) => { }) ) } + +// construct a valid xPath for an element in the DOM +export const elementToxPath = element => { + if (element.id !== '') return "//*[@id='" + element.id + "']" + if (element === document.body) return 'body' + + let ix = 0 + const siblings = element.parentNode.childNodes + + for (var i = 0; i < siblings.length; i++) { + const sibling = siblings[i] + if (sibling === element) { + return ( + elementToxPath(element.parentNode) + + '/' + + element.tagName.toLowerCase() + + '[' + + (ix + 1) + + ']' + ) + } + + if (sibling.nodeType === 1 && sibling.tagName === element.tagName) { + ix++ + } + } +} + +export const xPathToElement = xpath => { + return document.evaluate( + xpath, + document, + null, + XPathResult.FIRST_ORDERED_NODE_TYPE, + null + ).singleNodeValue +} diff --git a/lib/stimulus_reflex/channel.rb b/lib/stimulus_reflex/channel.rb index a1082e69..0016f39a 100644 --- a/lib/stimulus_reflex/channel.rb +++ b/lib/stimulus_reflex/channel.rb @@ -35,7 +35,7 @@ def receive(data) reflex_name = reflex_name.end_with?("Reflex") ? reflex_name : "#{reflex_name}Reflex" arguments = (data["args"] || []).map { |arg| object_with_indifferent_access arg } element = StimulusReflex::Element.new(data) - permanent_attribute_name = data["permanent_attribute_name"] + permanent_attribute_name = data["permanentAttributeName"] params = data["params"] || {} begin diff --git a/lib/tasks/stimulus_reflex/install.rake b/lib/tasks/stimulus_reflex/install.rake index 23b0dcc3..22661b50 100644 --- a/lib/tasks/stimulus_reflex/install.rake +++ b/lib/tasks/stimulus_reflex/install.rake @@ -42,7 +42,7 @@ namespace :stimulus_reflex do end initialize_line = lines.find { |line| line.start_with?("StimulusReflex.initialize") } - lines << "StimulusReflex.initialize(application, { consumer, controller })\n" unless initialize_line + lines << "StimulusReflex.initialize(application, { consumer, controller, isolate: true })\n" unless initialize_line lines << "if (process.env.RAILS_ENV === 'development') StimulusReflex.debug = true\n" unless initialize_line File.open(filepath, "w") { |f| f.write lines.join } From 6bfd8d2ff7cbde2808b7a19557e2a004c03256d5 Mon Sep 17 00:00:00 2001 From: Nate Hopkins Date: Tue, 20 Oct 2020 16:55:07 -0600 Subject: [PATCH 021/127] Delegate flash to the request (#334) --- lib/stimulus_reflex/reflex.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index 688134ef..31e06536 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -46,7 +46,7 @@ def normalize_callback_option!(options, from, to) attr_reader :channel, :url, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name delegate :connection, :stream_name, to: :channel - delegate :session, to: :request + delegate :flash, :session, to: :request delegate :broadcast, :broadcast_message, to: :broadcaster def initialize(channel, url: nil, element: nil, selectors: [], method_name: nil, permanent_attribute_name: nil, params: {}) From b574e08ecddbbd924f0ee3bbae67a186fbdeb522 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 20 Oct 2020 22:56:27 +0000 Subject: [PATCH 022/127] [nodoc] update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fdda236..bf5f632e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ - remove isolate concept and make behavior default [\#332](https://github.com/hopsoft/stimulus_reflex/pull/332) ([leastbad](https://github.com/leastbad)) +**Implemented enhancements:** + +- Delegate flash to the request [\#334](https://github.com/hopsoft/stimulus_reflex/pull/334) ([hopsoft](https://github.com/hopsoft)) + **Closed issues:** - Stimulus' controllers are not reconnecting after reflex, why? [\#314](https://github.com/hopsoft/stimulus_reflex/issues/314) From 543fb0f1c543e7679ddb9720cc6ddfeefd40f898 Mon Sep 17 00:00:00 2001 From: leastbad Date: Tue, 20 Oct 2020 19:42:50 -0400 Subject: [PATCH 023/127] isolation mode returns! --- javascript/lifecycle.js | 2 +- javascript/stimulus_reflex.js | 7 +++++-- package.json | 19 +++++++++++++++---- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/javascript/lifecycle.js b/javascript/lifecycle.js index c7fa4726..e2577ef3 100644 --- a/javascript/lifecycle.js +++ b/javascript/lifecycle.js @@ -17,7 +17,7 @@ const invokeLifecycleMethod = (stage, element, reflexId) => { const controller = element.reflexController const reflex = element.reflexData.target const reflexMethodName = reflex.split('#')[1] - console.log(controller) + const specificLifecycleMethodName = ['before', 'after', 'finalize'].includes( stage ) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index ed034873..2754bf01 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -82,11 +82,11 @@ const createSubscription = controller => { if (!reflexes[reflexId] && !isolationMode) { const element = xPathToElement(reflexData.xpath) + const controllerElement = xPathToElement(reflexData.cXpath) element.reflexController = stimulusApplication.getControllerForElementAndIdentifier( - element, + controllerElement, reflexData.reflexController ) - console.log(element) element.reflexData = reflexData dispatchLifecycleEvent('before', element, reflexId) registerReflex(reflexData) @@ -173,6 +173,8 @@ const extendStimulusController = controller => { const dataset = extractElementDataset(element, datasetAttribute) let xpath = elementToxPath(element) xpath = xpath.startsWith('//*') ? xpath : '/html/' + xpath + let cXpath = elementToxPath(this.element) + cXpath = cXpath.startsWith('//*') ? cXpath : '/html/' + cXpath const data = { target, args, @@ -183,6 +185,7 @@ const extendStimulusController = controller => { reflexId, resolveLate, xpath, + cXpath, reflexController: this.identifier, permanentAttributeName: stimulusApplication.schema.reflexPermanentAttribute diff --git a/package.json b/package.json index 337606d3..f01acbda 100644 --- a/package.json +++ b/package.json @@ -28,26 +28,37 @@ }, "license": "MIT", "author": "Nathan Hopkins ", - "main": "javascript/stimulus_reflex.js", + "source": "javascript/stimulus_reflex.js", + "main": "javascript/dist/stimulus_reflex.js", + "module": "javascript/dist/stimulus_reflex.module.js", + "unpkg": "javascript/dist/stimulus_reflex.umd.js", "scripts": { "postinstall": "node javascript/scripts/post_install.js", "prettier-standard:check": "yarn run prettier-standard --check *.js **/*.js", "prettier-standard:format": "yarn run prettier-standard *.js **/*.js", - "test": "yarn run mocha --require @babel/register" + "test": "yarn run mocha --require @babel/register", + "build": "microbundle", + "dev": "microbundle watch" }, "dependencies": { + "form-serialize": ">= 0.7.2" + }, + "peerDependencies": { "@rails/actioncable": ">= 6.0", "cable_ready": ">= 4.3.0", - "form-serialize": ">= 0.7.2", "stimulus": ">= 1.1" }, "devDependencies": { "@babel/core": "^7.6.2", "@babel/preset-env": "^7.6.2", "@babel/register": "^7.6.2", + "@rails/actioncable": "^6.0.3-3", "assert": "^2.0.0", + "cable_ready": "^4.4.0-pre0", "jsdom": "^16.0.1", + "microbundle": "^0.12.3", "mocha": "^8.0.1", - "prettier-standard": "^16.1.0" + "prettier-standard": "^16.1.0", + "stimulus": "^1.1.1" } } From 0f3bd066b0a2404c04e2d9161308f9fefdbd0781 Mon Sep 17 00:00:00 2001 From: leastbad Date: Wed, 21 Oct 2020 00:19:47 +0000 Subject: [PATCH 024/127] GitBook: [master] one page modified --- docs/setup.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/setup.md b/docs/setup.md index 35ff26fc..bb2d6062 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -96,6 +96,30 @@ You should also add the `action_cable_meta_tag`helper to your application templa ``` {% endcode %} +## Running "Edge" + +If you are interested in running the latest version of StimulusReflex, you can point to the `master` branch on Github: + +{% code title="package.json" %} +```javascript +"dependencies": { + "stimulus_reflex": "hopsoft/stimulus_reflex#master" +} +``` +{% endcode %} + +{% code title="Gemfile" %} +```ruby +gem 'stimulus_reflex', github: 'hopsoft/stimulus_reflex' +``` +{% endcode %} + +Don't forget to run `bundle install && yarn install` after you change your configuration. + +{% hint style="success" %} +As always, it is really important to always make sure that your Ruby and Javascript package versions are the same! +{% endhint %} + ## Authentication {% hint style="info" %} From 1ab49b7633246e7853d550f3c4b4eafe4ae557b6 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 21 Oct 2020 00:21:02 +0000 Subject: [PATCH 025/127] [nodoc] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf5f632e..473610be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -128,6 +128,7 @@ - Fix argument of type object always being assigned to options [\#279](https://github.com/hopsoft/stimulus_reflex/pull/279) ([shawnleong](https://github.com/shawnleong)) - Simplify devise authentication logic \(in docs\) [\#276](https://github.com/hopsoft/stimulus_reflex/pull/276) ([inner-whisper](https://github.com/inner-whisper)) - Bump lodash from 4.17.15 to 4.17.19 in /javascript [\#275](https://github.com/hopsoft/stimulus_reflex/pull/275) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Update find element to ignore SR attrs [\#272](https://github.com/hopsoft/stimulus_reflex/pull/272) ([hopsoft](https://github.com/hopsoft)) ## [v3.3.0.pre2](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre2) (2020-07-17) @@ -143,7 +144,6 @@ - Smarter warnings when element not found [\#274](https://github.com/hopsoft/stimulus_reflex/pull/274) ([hopsoft](https://github.com/hopsoft)) - Add the attributes to the warning message when element not found [\#273](https://github.com/hopsoft/stimulus_reflex/pull/273) ([hopsoft](https://github.com/hopsoft)) -- Update find element to ignore SR attrs [\#272](https://github.com/hopsoft/stimulus_reflex/pull/272) ([hopsoft](https://github.com/hopsoft)) - Refactor of the morph feature [\#270](https://github.com/hopsoft/stimulus_reflex/pull/270) ([hopsoft](https://github.com/hopsoft)) - coerce html arguments to string type [\#268](https://github.com/hopsoft/stimulus_reflex/pull/268) ([leastbad](https://github.com/leastbad)) - Update deployment docs after the official AnyCable 1.0 release [\#267](https://github.com/hopsoft/stimulus_reflex/pull/267) ([rmacklin](https://github.com/rmacklin)) From 7148d5f8e244186a1d571601b1efb0257567ede5 Mon Sep 17 00:00:00 2001 From: leastbad Date: Wed, 21 Oct 2020 01:12:07 +0000 Subject: [PATCH 026/127] GitBook: [master] one page modified --- docs/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup.md b/docs/setup.md index bb2d6062..fbe5fa0a 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -114,7 +114,7 @@ gem 'stimulus_reflex', github: 'hopsoft/stimulus_reflex' ``` {% endcode %} -Don't forget to run `bundle install && yarn install` after you change your configuration. +Don't forget to run `bundle install && yarn install --check-files` after you change your configuration. {% hint style="success" %} As always, it is really important to always make sure that your Ruby and Javascript package versions are the same! From 75d530d75cb4070ba72aecf73561da7e8bea98d4 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 21 Oct 2020 01:13:21 +0000 Subject: [PATCH 027/127] [nodoc] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 473610be..bf5f632e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -128,7 +128,6 @@ - Fix argument of type object always being assigned to options [\#279](https://github.com/hopsoft/stimulus_reflex/pull/279) ([shawnleong](https://github.com/shawnleong)) - Simplify devise authentication logic \(in docs\) [\#276](https://github.com/hopsoft/stimulus_reflex/pull/276) ([inner-whisper](https://github.com/inner-whisper)) - Bump lodash from 4.17.15 to 4.17.19 in /javascript [\#275](https://github.com/hopsoft/stimulus_reflex/pull/275) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Update find element to ignore SR attrs [\#272](https://github.com/hopsoft/stimulus_reflex/pull/272) ([hopsoft](https://github.com/hopsoft)) ## [v3.3.0.pre2](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre2) (2020-07-17) @@ -144,6 +143,7 @@ - Smarter warnings when element not found [\#274](https://github.com/hopsoft/stimulus_reflex/pull/274) ([hopsoft](https://github.com/hopsoft)) - Add the attributes to the warning message when element not found [\#273](https://github.com/hopsoft/stimulus_reflex/pull/273) ([hopsoft](https://github.com/hopsoft)) +- Update find element to ignore SR attrs [\#272](https://github.com/hopsoft/stimulus_reflex/pull/272) ([hopsoft](https://github.com/hopsoft)) - Refactor of the morph feature [\#270](https://github.com/hopsoft/stimulus_reflex/pull/270) ([hopsoft](https://github.com/hopsoft)) - coerce html arguments to string type [\#268](https://github.com/hopsoft/stimulus_reflex/pull/268) ([leastbad](https://github.com/leastbad)) - Update deployment docs after the official AnyCable 1.0 release [\#267](https://github.com/hopsoft/stimulus_reflex/pull/267) ([rmacklin](https://github.com/rmacklin)) From 41b74d0e8b0a960a446f475703386d7a57b4903e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 24 Oct 2020 08:50:05 +0000 Subject: [PATCH 028/127] [nodoc] update changelog --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf5f632e..86639b88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ **Implemented enhancements:** - Delegate flash to the request [\#334](https://github.com/hopsoft/stimulus_reflex/pull/334) ([hopsoft](https://github.com/hopsoft)) +- Opt-in form serialization & params overriding [\#325](https://github.com/hopsoft/stimulus_reflex/pull/325) ([s-s](https://github.com/s-s)) **Closed issues:** @@ -474,6 +475,10 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v2.2.0...v2.2.1) +**Implemented enhancements:** + +- Setup DOM event based lifecycle [\#115](https://github.com/hopsoft/stimulus_reflex/pull/115) ([hopsoft](https://github.com/hopsoft)) + **Fixed bugs:** - Cleanup and fixes around lifecycle dispatch [\#121](https://github.com/hopsoft/stimulus_reflex/pull/121) ([hopsoft](https://github.com/hopsoft)) @@ -493,7 +498,6 @@ **Implemented enhancements:** - Add lifecycle events [\#114](https://github.com/hopsoft/stimulus_reflex/issues/114) -- Setup DOM event based lifecycle [\#115](https://github.com/hopsoft/stimulus_reflex/pull/115) ([hopsoft](https://github.com/hopsoft)) ## [v2.1.8](https://github.com/hopsoft/stimulus_reflex/tree/v2.1.8) (2020-01-27) From 376a05107f26475920b92bbc7d57400d0c352577 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Sat, 24 Oct 2020 18:22:55 +0200 Subject: [PATCH 029/127] update package.json to match content of javascript/package.json --- package.json | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 389c3726..01c0e1ff 100644 --- a/package.json +++ b/package.json @@ -28,14 +28,19 @@ }, "license": "MIT", "author": "Nathan Hopkins ", - "main": "javascript/stimulus_reflex.js", + "source": "javascript/stimulus_reflex.js", + "main": "javascript/dist/stimulus_reflex.js", + "module": "javascript/dist/stimulus_reflex.module.js", + "unpkg": "javascript/dist/stimulus_reflex.umd.js", "scripts": { "postinstall": "node javascript/scripts/post_install.js", "prettier-standard:check": "yarn run prettier-standard --check *.js **/*.js", "prettier-standard:format": "yarn run prettier-standard *.js **/*.js", - "test": "yarn run mocha --require @babel/register" + "test": "yarn run mocha --require @babel/register", + "build": "microbundle", + "dev": "microbundle watch" }, - "dependencies": { + "peerDependencies": { "@rails/actioncable": ">= 6.0", "cable_ready": ">= 4.3.0", "stimulus": ">= 1.1" @@ -44,9 +49,13 @@ "@babel/core": "^7.6.2", "@babel/preset-env": "^7.6.2", "@babel/register": "^7.6.2", + "@rails/actioncable": "^6.0.3-3", "assert": "^2.0.0", + "cable_ready": "^4.4.0-pre0", "jsdom": "^16.0.1", + "microbundle": "^0.12.3", "mocha": "^8.0.1", - "prettier-standard": "^16.1.0" + "prettier-standard": "^16.1.0", + "stimulus": "^1.1.1" } } From a3baccdd38dfc1f087cf3b5658dd4a704f981fde Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Mon, 26 Oct 2020 00:41:53 +0100 Subject: [PATCH 030/127] default serializeForm to '' if serializeForm is disabled --- javascript/stimulus_reflex.js | 8 ++++---- lib/stimulus_reflex/channel.rb | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index f5a6e8ed..5f9a624c 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -181,10 +181,10 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} - const formData = - options['serializeForm'] == false - ? {} - : serializeForm(element.closest('form'), { element }) + const formData = options['serializeForm'] + ? serializeForm(element.closest('form'), { element }) + : '' + element.reflexData = { ...data, params, diff --git a/lib/stimulus_reflex/channel.rb b/lib/stimulus_reflex/channel.rb index 1df9ea56..974b2904 100644 --- a/lib/stimulus_reflex/channel.rb +++ b/lib/stimulus_reflex/channel.rb @@ -36,7 +36,7 @@ def receive(data) arguments = (data["args"] || []).map { |arg| object_with_indifferent_access arg } element = StimulusReflex::Element.new(data) permanent_attribute_name = data["permanent_attribute_name"] - form_data = Rack::Utils.parse_nested_query(data["formData"] || "") + form_data = Rack::Utils.parse_nested_query(data["formData"]) params = form_data.deep_merge(data["params"] || {}) begin From f58123957886f6c64953a2a1a679e625b0ea576a Mon Sep 17 00:00:00 2001 From: Obie Fernandez Date: Sun, 25 Oct 2020 19:43:40 -0600 Subject: [PATCH 031/127] Aliases method_name to action_name for better compatibility with controller libraries like Pundit --- lib/stimulus_reflex/reflex.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index 31e06536..1180c94d 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -45,6 +45,8 @@ def normalize_callback_option!(options, from, to) attr_reader :channel, :url, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name + alias action_name method_name # for compatibility with controller libraries like Pundit that expect an action name + delegate :connection, :stream_name, to: :channel delegate :flash, :session, to: :request delegate :broadcast, :broadcast_message, to: :broadcaster From b00eb94f241a35867773634cb23da0b56a52db27 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 26 Oct 2020 05:27:08 +0000 Subject: [PATCH 032/127] [nodoc] update changelog --- CHANGELOG.md | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86639b88..92b949df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ **Merged pull requests:** +- Aliases method\_name to action\_name [\#338](https://github.com/hopsoft/stimulus_reflex/pull/338) ([obie](https://github.com/obie)) - add signed/unsigned accessors to element [\#330](https://github.com/hopsoft/stimulus_reflex/pull/330) ([joshleblanc](https://github.com/joshleblanc)) - merge environment into ApplicationController and descendants [\#328](https://github.com/hopsoft/stimulus_reflex/pull/328) ([leastbad](https://github.com/leastbad)) - fix for PR\#317 which was preventing server messages [\#326](https://github.com/hopsoft/stimulus_reflex/pull/326) ([leastbad](https://github.com/leastbad)) @@ -275,7 +276,7 @@ - Loosen Rails requirement to 5.2 with instructions [\#205](https://github.com/hopsoft/stimulus_reflex/pull/205) ([jasoncharnes](https://github.com/jasoncharnes)) - Fix undefined is not an object for Object.keys in log.js [\#201](https://github.com/hopsoft/stimulus_reflex/pull/201) ([marcoroth](https://github.com/marcoroth)) - Small typo/grammar fix in quickstart doc. [\#198](https://github.com/hopsoft/stimulus_reflex/pull/198) ([acoffman](https://github.com/acoffman)) -- Add halted lifecycle event [\#193](https://github.com/hopsoft/stimulus_reflex/pull/193) ([seb1441](https://github.com/seb1441)) +- Add halted lifecycle event [\#193](https://github.com/hopsoft/stimulus_reflex/pull/193) ([websebdev](https://github.com/websebdev)) - 147 extract multiple checkbox values [\#175](https://github.com/hopsoft/stimulus_reflex/pull/175) ([julianrubisch](https://github.com/julianrubisch)) ## [v3.2.1](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.1) (2020-05-09) @@ -314,7 +315,7 @@ - Replace uuid4 dependency with function in repo [\#181](https://github.com/hopsoft/stimulus_reflex/pull/181) ([jonathan-s](https://github.com/jonathan-s)) - Allow channel exceptions to be rescuable [\#180](https://github.com/hopsoft/stimulus_reflex/pull/180) ([dark-panda](https://github.com/dark-panda)) - add console log messages for every reflex call [\#163](https://github.com/hopsoft/stimulus_reflex/pull/163) ([marcoroth](https://github.com/marcoroth)) -- add reflex callbacks [\#160](https://github.com/hopsoft/stimulus_reflex/pull/160) ([seb1441](https://github.com/seb1441)) +- add reflex callbacks [\#160](https://github.com/hopsoft/stimulus_reflex/pull/160) ([websebdev](https://github.com/websebdev)) **Fixed bugs:** @@ -475,10 +476,6 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v2.2.0...v2.2.1) -**Implemented enhancements:** - -- Setup DOM event based lifecycle [\#115](https://github.com/hopsoft/stimulus_reflex/pull/115) ([hopsoft](https://github.com/hopsoft)) - **Fixed bugs:** - Cleanup and fixes around lifecycle dispatch [\#121](https://github.com/hopsoft/stimulus_reflex/pull/121) ([hopsoft](https://github.com/hopsoft)) @@ -498,6 +495,7 @@ **Implemented enhancements:** - Add lifecycle events [\#114](https://github.com/hopsoft/stimulus_reflex/issues/114) +- Setup DOM event based lifecycle [\#115](https://github.com/hopsoft/stimulus_reflex/pull/115) ([hopsoft](https://github.com/hopsoft)) ## [v2.1.8](https://github.com/hopsoft/stimulus_reflex/tree/v2.1.8) (2020-01-27) @@ -550,6 +548,7 @@ **Fixed bugs:** - Use application.js as fallback file path [\#82](https://github.com/hopsoft/stimulus_reflex/pull/82) ([julianrubisch](https://github.com/julianrubisch)) +- Don't assume that connection identifiers are model instances [\#77](https://github.com/hopsoft/stimulus_reflex/pull/77) ([hopsoft](https://github.com/hopsoft)) **Closed issues:** @@ -566,10 +565,6 @@ - Add CodeFund sponsorship [\#75](https://github.com/hopsoft/stimulus_reflex/pull/75) ([coderberry](https://github.com/coderberry)) -**Fixed bugs:** - -- Don't assume that connection identifiers are model instances [\#77](https://github.com/hopsoft/stimulus_reflex/pull/77) ([hopsoft](https://github.com/hopsoft)) - ## [v2.1.3](https://github.com/hopsoft/stimulus_reflex/tree/v2.1.3) (2019-10-16) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v2.1.2...v2.1.3) From cb9caf2760e2bb1768eb12f1e2ef41d87d4c3807 Mon Sep 17 00:00:00 2001 From: leastbad Date: Mon, 26 Oct 2020 06:28:10 +0000 Subject: [PATCH 033/127] GitBook: [master] one page modified --- docs/setup.md | 70 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 46 insertions(+), 24 deletions(-) diff --git a/docs/setup.md b/docs/setup.md index fbe5fa0a..e82b63c6 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -96,30 +96,6 @@ You should also add the `action_cable_meta_tag`helper to your application templa ``` {% endcode %} -## Running "Edge" - -If you are interested in running the latest version of StimulusReflex, you can point to the `master` branch on Github: - -{% code title="package.json" %} -```javascript -"dependencies": { - "stimulus_reflex": "hopsoft/stimulus_reflex#master" -} -``` -{% endcode %} - -{% code title="Gemfile" %} -```ruby -gem 'stimulus_reflex', github: 'hopsoft/stimulus_reflex' -``` -{% endcode %} - -Don't forget to run `bundle install && yarn install --check-files` after you change your configuration. - -{% hint style="success" %} -As always, it is really important to always make sure that your Ruby and Javascript package versions are the same! -{% endhint %} - ## Authentication {% hint style="info" %} @@ -174,3 +150,49 @@ To use Rails 5.2 with StimulusReflex, you'll need the latest Action Cable packag There's nothing about StimulusReflex 3+ that shouldn't work fine in a Rails 5.2 app if you're willing to do a bit of manual package dependency management. {% endhint %} +## Running "Edge" + +If you are interested in running the latest version of StimulusReflex, you can point to the `master` branch on Github: + +{% code title="package.json" %} +```javascript +"dependencies": { + "stimulus_reflex": "hopsoft/stimulus_reflex#master" +} +``` +{% endcode %} + +{% code title="Gemfile" %} +```ruby +gem "stimulus_reflex", github: "hopsoft/stimulus_reflex" +``` +{% endcode %} + +Don't forget to run `bundle install && yarn install --check-files` and restart your server after you change your configuration. + +{% hint style="success" %} +It is really important to **always make sure that your Ruby and Javascript package versions are the same**! +{% endhint %} + +### Running a branch to test a Github Pull Request + +Sometimes you want to test a new feature or bugfix before it is officially merged with the `master` branch. You can adapt the "Edge" instructions and run code from anywhere. + +Using [\#335 - tab isolation mode v2](https://github.com/hopsoft/stimulus_reflex/pull/335) as an example, we first need the Github username of the author and the name of their local branch associated with the PR. In this case, the answers are `leastbad` and `isolation_optional`. This is a branch on the forked copy of the main project; a pull request is just a proposal to merge the changes in this branch into the `master` branch of the main project repository. + +{% code title="package.json" %} +```javascript +"dependencies": { + "stimulus_reflex": "leastbad/stimulus_reflex#isolation_optional" +} +``` +{% endcode %} + +{% code title="Gemfile" %} +```ruby +gem "stimulus_reflex", github: "leastbad/stimulus_reflex", branch: "isolation_optional" +``` +{% endcode %} + +Now that we know the details, we end up with the above changes. Don't forget to run `bundle install && yarn install --check-files` and restart your server. + From ae48efef06ce3d1a9217a4037f86d5072e5bf555 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 26 Oct 2020 06:29:43 +0000 Subject: [PATCH 034/127] [nodoc] update changelog --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92b949df..6ead8aa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -171,6 +171,7 @@ **Fixed bugs:** - Limit MutationObserver mutations [\#256](https://github.com/hopsoft/stimulus_reflex/pull/256) ([jasoncharnes](https://github.com/jasoncharnes)) +- Fix multipleInstances convenience method [\#220](https://github.com/hopsoft/stimulus_reflex/pull/220) ([julianrubisch](https://github.com/julianrubisch)) **Closed issues:** @@ -235,7 +236,6 @@ **Fixed bugs:** - Session lost after throw :abort [\#221](https://github.com/hopsoft/stimulus_reflex/issues/221) -- Fix multipleInstances convenience method [\#220](https://github.com/hopsoft/stimulus_reflex/pull/220) ([julianrubisch](https://github.com/julianrubisch)) **Merged pull requests:** @@ -548,7 +548,6 @@ **Fixed bugs:** - Use application.js as fallback file path [\#82](https://github.com/hopsoft/stimulus_reflex/pull/82) ([julianrubisch](https://github.com/julianrubisch)) -- Don't assume that connection identifiers are model instances [\#77](https://github.com/hopsoft/stimulus_reflex/pull/77) ([hopsoft](https://github.com/hopsoft)) **Closed issues:** @@ -565,6 +564,10 @@ - Add CodeFund sponsorship [\#75](https://github.com/hopsoft/stimulus_reflex/pull/75) ([coderberry](https://github.com/coderberry)) +**Fixed bugs:** + +- Don't assume that connection identifiers are model instances [\#77](https://github.com/hopsoft/stimulus_reflex/pull/77) ([hopsoft](https://github.com/hopsoft)) + ## [v2.1.3](https://github.com/hopsoft/stimulus_reflex/tree/v2.1.3) (2019-10-16) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v2.1.2...v2.1.3) From 644d465d64762a1a049ff31ff58d1079d9cbf9fe Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Mon, 26 Oct 2020 02:35:56 -0400 Subject: [PATCH 035/127] Update PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 4129c5cb..4d8382ce 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,3 +14,6 @@ Explain value. - [ ] My code follows the style guidelines of this project - [ ] Checks (StandardRB & Prettier-Standard) are passing +- [ ] This is not a documentation update + +Please note that the best way to suggest changes or updates to the [documentation](https://docs.stimulusreflex.com) is to [join Discord](https://discord.gg/XveN625) and leave a note in the #docs channel. Any documentation updates posted as PRs cannot be accepted at this time. :heart: From fdc3456b21c5ad5050b2816582ea65777cc9ee61 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 26 Oct 2020 06:37:08 +0000 Subject: [PATCH 036/127] [nodoc] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ead8aa4..bb4e7511 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -171,7 +171,6 @@ **Fixed bugs:** - Limit MutationObserver mutations [\#256](https://github.com/hopsoft/stimulus_reflex/pull/256) ([jasoncharnes](https://github.com/jasoncharnes)) -- Fix multipleInstances convenience method [\#220](https://github.com/hopsoft/stimulus_reflex/pull/220) ([julianrubisch](https://github.com/julianrubisch)) **Closed issues:** @@ -236,6 +235,7 @@ **Fixed bugs:** - Session lost after throw :abort [\#221](https://github.com/hopsoft/stimulus_reflex/issues/221) +- Fix multipleInstances convenience method [\#220](https://github.com/hopsoft/stimulus_reflex/pull/220) ([julianrubisch](https://github.com/julianrubisch)) **Merged pull requests:** From 89d3d81420cc8236c9eb88293ca30a1d63225ca3 Mon Sep 17 00:00:00 2001 From: leastbad Date: Mon, 26 Oct 2020 07:09:52 +0000 Subject: [PATCH 037/127] GitBook: [master] one page modified --- docs/authentication.md | 48 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/docs/authentication.md b/docs/authentication.md index 9f936826..fa256982 100644 --- a/docs/authentication.md +++ b/docs/authentication.md @@ -375,7 +375,53 @@ The `before_reflex` callback is the best place to handle privilege checks, becau ### Pundit -The trusty [pundit](https://github.com/varvet/pundit) gem allows you to set up policy classes that you can use to lock down Reflex action methods in a structured way. The following example assumes that you have a `current_user` in scope and an `application_policy.rb` already in place. In this application, the `User` model has a boolean attribute called `admin`. +The trusty [pundit](https://github.com/varvet/pundit) gem allows you to set up policy classes that you can use to lock down Reflex action methods in a structured way. Reflexes are similar enough to controllers that if you include the `Pundit` module, you can take advantage of the `authorize` method. + +Pundit expects you to have a `current_user` in scope and a policy matching the name of your Reflex action. In the following example we create a `sing?` policy for our `sing` Reflex action in `song_policy.rb` + +{% code title="app/policies/song\_policy.rb" %} +```ruby +class SongPolicy < ApplicationPolicy + def sing? + user.sings_in_key? + end +end +``` +{% endcode %} + +{% code title="app/reflexes/song\_reflex.rb" %} +```ruby +class SongReflex < ApplicationReflex + include Pundit + + def sing + @song = Song.find(params[:song_id]) + authorize @song + # sing your heart out, baby! + end +end +``` +{% endcode %} + +Pundit will match your Reflex action to the right policy. If the `authorize` call fails, a `Pundit::NotAuthorizedError` will be raised, which you can handle in your Reflex action or leave unhandled so that it bubbles up and gets picked up by a 3rd-party error handling mechanism such as [Sentry](https://sentry.io) or [HoneyBadger](https://www.honeybadger.io/). + +{% code title="app/reflexes/application\_reflex.rb" %} +```ruby +class ApplicationReflex < StimulusReflex::Reflex + rescue_from Pundit::NotAuthorizedError do |exception| + # handle authorization issue + end +end +``` +{% endcode %} + +If you're using Pundit to safeguard data from being accessed by bad actors and unauthorized parties - due to bugs in your code - that's probably the correct approach. _However..._ you might also want to explicitly validate policies so that you can react to them in your browser: + +#### Explitic policy validation + +You can also ask Pundit to validate a policy explicitly and then [abort the Reflex](https://docs.stimulusreflex.com/reflexes#aborting-a-reflex) before it begins. This is an action that can be handled by the client via the **halted** lifecycle event. + +The following example assumes that you have a `current_user` in scope and an `application_policy.rb` already in place. In this application, the `User` model has a boolean attribute called `admin`. {% code title="app/policies/example\_reflex\_policy.rb" %} ```ruby From 22c823abdc09ba78f1098c972b88fa75af028e8b Mon Sep 17 00:00:00 2001 From: Roland Studer Date: Mon, 26 Oct 2020 14:32:41 +0100 Subject: [PATCH 038/127] Add configuration class --- lib/stimulus_reflex.rb | 1 + lib/stimulus_reflex/configuration.rb | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 lib/stimulus_reflex/configuration.rb diff --git a/lib/stimulus_reflex.rb b/lib/stimulus_reflex.rb index 4ad2bf81..399b13df 100644 --- a/lib/stimulus_reflex.rb +++ b/lib/stimulus_reflex.rb @@ -9,6 +9,7 @@ require "nokogiri" require "cable_ready" require "stimulus_reflex/version" +require "stimulus_reflex/configuration" require "stimulus_reflex/reflex" require "stimulus_reflex/element" require "stimulus_reflex/channel" diff --git a/lib/stimulus_reflex/configuration.rb b/lib/stimulus_reflex/configuration.rb new file mode 100644 index 00000000..05113e97 --- /dev/null +++ b/lib/stimulus_reflex/configuration.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module StimulusReflex + class << self + def configure + yield configuration + end + + def configuration + @configuration ||= Configuration.new + end + + alias config configuration + end + + class Configuration + attr_accessor :example # put your attr_accessors here, like `attr_accessor: debug`, remove this line when you do. + + def initialize + @example = true # put your defaults here like `@debug = true, remove this line when you do. + end + end +end From 0c0398b599c457e3b55127686c6c0720093c36bc Mon Sep 17 00:00:00 2001 From: Roland Studer Date: Mon, 26 Oct 2020 17:33:47 +0100 Subject: [PATCH 039/127] Generator for configuration file in config/initializers --- lib/generators/config_generator.rb | 14 ++++++++++++++ .../config/initializers/stimulus_reflex.rb | 7 +++++++ lib/stimulus_reflex.rb | 1 + 3 files changed, 22 insertions(+) create mode 100644 lib/generators/config_generator.rb create mode 100644 lib/generators/templates/config/initializers/stimulus_reflex.rb diff --git a/lib/generators/config_generator.rb b/lib/generators/config_generator.rb new file mode 100644 index 00000000..e72888ae --- /dev/null +++ b/lib/generators/config_generator.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +require "rails/generators" + +module StimulusReflex + class ConfigGenerator < Rails::Generators::Base + desc "Creates an StimulusReflex configuration file in config/initializers" + source_root File.expand_path("templates", __dir__) + + def copy_config_file + copy_file "config/initializers/stimulus_reflex.rb" + end + end +end diff --git a/lib/generators/templates/config/initializers/stimulus_reflex.rb b/lib/generators/templates/config/initializers/stimulus_reflex.rb new file mode 100644 index 00000000..7809018b --- /dev/null +++ b/lib/generators/templates/config/initializers/stimulus_reflex.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +StimulusReflex.configure do |config| + # configuration options explained here: + # Short description of what the config variable does, best with the available options. + # config.example = true +end diff --git a/lib/stimulus_reflex.rb b/lib/stimulus_reflex.rb index 399b13df..228d2a11 100644 --- a/lib/stimulus_reflex.rb +++ b/lib/stimulus_reflex.rb @@ -19,6 +19,7 @@ require "stimulus_reflex/broadcasters/page_broadcaster" require "stimulus_reflex/broadcasters/selector_broadcaster" require "generators/stimulus_reflex_generator" +require "generators/config_generator" module StimulusReflex class Engine < Rails::Engine From 5ca259d01b94d5570eca333831e3b5aac2a067f6 Mon Sep 17 00:00:00 2001 From: Roland Studer Date: Mon, 26 Oct 2020 17:39:39 +0100 Subject: [PATCH 040/127] Create config file during install --- lib/tasks/stimulus_reflex/install.rake | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/tasks/stimulus_reflex/install.rake b/lib/tasks/stimulus_reflex/install.rake index 23b0dcc3..8a6c549e 100644 --- a/lib/tasks/stimulus_reflex/install.rake +++ b/lib/tasks/stimulus_reflex/install.rake @@ -64,6 +64,7 @@ namespace :stimulus_reflex do end system "bundle exec rails generate stimulus_reflex example" + system "bundle exec rails generate stimulus_reflex:config" system "rails dev:cache" unless Rails.root.join("tmp", "caching-dev.txt").exist? end end From c60fa3049e53f8c2fdc07112d4537de0188a00af Mon Sep 17 00:00:00 2001 From: leastbad Date: Tue, 27 Oct 2020 09:52:18 +0000 Subject: [PATCH 041/127] GitBook: [master] one page modified --- docs/patterns.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/patterns.md b/docs/patterns.md index 26b5e579..400e6c59 100644 --- a/docs/patterns.md +++ b/docs/patterns.md @@ -265,6 +265,16 @@ end ``` {% endcode %} +If you're working on translations and would like to have your `.yml` files automatically reload when the browser refreshes, we've got you covered: + +{% code title="app/controllers/application\_controller.rb" %} +```ruby +class ApplicationController < ActionController::Base + before_action -> { I18n.backend.reload! } if Rails.env.development? +end +``` +{% endcode %} + ### The Current pattern Several years ago, DHH [introduced](https://www.youtube.com/watch?v=D7zUOtlpUPw) the [Current](https://api.rubyonrails.org/classes/ActiveSupport/CurrentAttributes.html) pattern to Rails 5.1. It's easy to work with Current objects inside of your Reflex classes using a `before_reflex` callback in your `ApplicationReflex`. From 7951c3f4d7371e7d9e2201ba83b1727f139d118a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 27 Oct 2020 09:54:06 +0000 Subject: [PATCH 042/127] [nodoc] update changelog --- CHANGELOG.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb4e7511..4a79e59c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,10 +39,6 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre5...v3.3.0.pre6) -**Implemented enhancements:** - -- Support for token-based authentication [\#243](https://github.com/hopsoft/stimulus_reflex/pull/243) ([leastbad](https://github.com/leastbad)) - **Closed issues:** - Authorization [\#292](https://github.com/hopsoft/stimulus_reflex/issues/292) @@ -165,6 +161,7 @@ **Implemented enhancements:** - Returns more helpful error message if Reflex doesn't exist [\#254](https://github.com/hopsoft/stimulus_reflex/pull/254) ([leastbad](https://github.com/leastbad)) +- Support for token-based authentication [\#243](https://github.com/hopsoft/stimulus_reflex/pull/243) ([leastbad](https://github.com/leastbad)) - Update install.rake to handle Typescript [\#241](https://github.com/hopsoft/stimulus_reflex/pull/241) ([iv-mexx](https://github.com/iv-mexx)) - Morph Modes: page, selector and nothing [\#211](https://github.com/hopsoft/stimulus_reflex/pull/211) ([leastbad](https://github.com/leastbad)) @@ -219,6 +216,7 @@ **Merged pull requests:** - Fix typos in the documentation [\#228](https://github.com/hopsoft/stimulus_reflex/pull/228) ([dlt](https://github.com/dlt)) +- Always commit session [\#222](https://github.com/hopsoft/stimulus_reflex/pull/222) ([hopsoft](https://github.com/hopsoft)) ## [v3.2.2](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.2) (2020-06-06) @@ -237,10 +235,6 @@ - Session lost after throw :abort [\#221](https://github.com/hopsoft/stimulus_reflex/issues/221) - Fix multipleInstances convenience method [\#220](https://github.com/hopsoft/stimulus_reflex/pull/220) ([julianrubisch](https://github.com/julianrubisch)) -**Merged pull requests:** - -- Always commit session [\#222](https://github.com/hopsoft/stimulus_reflex/pull/222) ([hopsoft](https://github.com/hopsoft)) - ## [v3.2.2.pre0](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.2.pre0) (2020-05-27) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.2.1...v3.2.2.pre0) @@ -433,10 +427,6 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v2.2.3...v3.0.0) -**Breaking changes:** - -- Update ActionCable JS dep to @rails/actioncable [\#135](https://github.com/hopsoft/stimulus_reflex/pull/135) ([hopsoft](https://github.com/hopsoft)) - **Implemented enhancements:** - update install script to set session store [\#134](https://github.com/hopsoft/stimulus_reflex/pull/134) ([leastbad](https://github.com/leastbad)) @@ -484,6 +474,10 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v2.1.9...v2.2.0) +**Breaking changes:** + +- Update ActionCable JS dep to @rails/actioncable [\#135](https://github.com/hopsoft/stimulus_reflex/pull/135) ([hopsoft](https://github.com/hopsoft)) + **Implemented enhancements:** - Explicit and implicit registering of the ActionCable consumer [\#116](https://github.com/hopsoft/stimulus_reflex/pull/116) ([hopsoft](https://github.com/hopsoft)) From 7226abe38d4d0aa4bb19de2128b0ae2a632e3ac2 Mon Sep 17 00:00:00 2001 From: Konnor Rogers Date: Wed, 28 Oct 2020 10:35:43 -0400 Subject: [PATCH 043/127] fix: add `prepare` script to `javascript/package.json` --- javascript/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/javascript/package.json b/javascript/package.json index c8d99fb6..1f1d73b7 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -33,6 +33,7 @@ "module": "dist/stimulus_reflex.module.js", "unpkg": "dist/stimulus_reflex.umd.js", "scripts": { + "prepare": "yarn run build", "postinstall": "node scripts/post_install.js", "prettier-standard:check": "yarn run prettier-standard --check *.js **/*.js", "prettier-standard:format": "yarn run prettier-standard *.js **/*.js", From a84e55791f18c49ebc73820bd07d13afc8eaac05 Mon Sep 17 00:00:00 2001 From: paramagicdev Date: Wed, 28 Oct 2020 11:03:40 -0400 Subject: [PATCH 044/127] fix: sync up package.jsons and minor updates --- javascript/package.json | 18 +- javascript/yarn.lock | 18 +- package.json | 16 +- yarn.lock | 6256 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 6286 insertions(+), 22 deletions(-) create mode 100644 yarn.lock diff --git a/javascript/package.json b/javascript/package.json index 1f1d73b7..ca4d85cd 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -29,24 +29,22 @@ "license": "MIT", "author": "Nathan Hopkins ", "source": "./stimulus_reflex.js", - "main": "dist/stimulus_reflex.js", - "module": "dist/stimulus_reflex.module.js", - "unpkg": "dist/stimulus_reflex.umd.js", + "main": "./dist/stimulus_reflex.js", + "module": "./dist/stimulus_reflex.module.js", + "esmodule": "./dist/stimulus_reflex.modern.js", "scripts": { - "prepare": "yarn run build", - "postinstall": "node scripts/post_install.js", + "prepare": "yarn build", + "postinstall": "node ./scripts/post_install.js", "prettier-standard:check": "yarn run prettier-standard --check *.js **/*.js", "prettier-standard:format": "yarn run prettier-standard *.js **/*.js", "test": "yarn run mocha --require @babel/register", - "build": "microbundle", - "dev": "microbundle watch" + "build": "microbundle --target browser --format modern,es,cjs", + "dev": "microbundle watch --target browser --format modern,es,cjs" }, "dependencies": { - "form-serialize": ">= 0.7.2" - }, - "peerDependencies": { "@rails/actioncable": ">= 6.0", "cable_ready": ">= 4.3.0", + "form-serialize": ">= 0.7.2", "stimulus": ">= 1.1" }, "devDependencies": { diff --git a/javascript/yarn.lock b/javascript/yarn.lock index bc2db2f8..19606b46 100644 --- a/javascript/yarn.lock +++ b/javascript/yarn.lock @@ -1007,10 +1007,10 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@rails/actioncable@^6.0.3-3": - version "6.0.3-3" - resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3-3.tgz#fb1a46d3d353512764d5fa3cea2f492391601b7a" - integrity sha512-+DEbtzvD2ITPKOGBAV0lLdUvImCsHtUYfxwW7TDKOrGNEFqgbVJij7aO6ZE8a3aDPQ7NnO/MlyrPwLVeiIZRSw== +"@rails/actioncable@>= 6.0": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3.tgz#722b4b639936129307ddbab3a390f6bcacf3e7bc" + integrity sha512-I01hgqxxnOgOtJTGlq0ZsGJYiTEEiSGVEGQn3vimZSqEP1HqzyFNbzGTq14Xdyeow2yGJjygjoFF1pmtE+SQaw== "@rollup/plugin-alias@^3.1.1": version "3.1.1" @@ -1539,10 +1539,10 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== -cable_ready@^4.4.0-pre0: - version "4.4.0-pre0" - resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.4.0-pre0.tgz#ed3fb4733c4632982c3fc3f8e7d2ba19fb902793" - integrity sha512-tG6oBgoTCaPinsbH0xJm9VBIJjXe3V9ocv+BlE1N6TKJf0uaBwRIMVvKzPs5t3QT5bTXhR1w+NL34kgAsg133g== +"cable_ready@>= 4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.3.0.tgz#69c6c6963a60d7891f43c7530e343007a00a50b3" + integrity sha512-/hjwgdwMoe2hE5KKunsuWXDTr26GzwR7CovdFKHdSHD/yZTFFIv/eY27slMiXUEb57X12GHdliSM59rftTKpoQ== dependencies: morphdom "^2.6.1" @@ -5560,7 +5560,7 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= -stimulus@^1.1.1: +"stimulus@>= 1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/stimulus/-/stimulus-1.1.1.tgz#53c2fded6849e7b85eed3ed8dd76e33abd74bec5" integrity sha512-R0mBqKp48YnRDZOxZ8hiOH4Ilph3Yj78CIFTBkCwyHs4iGCpe7xlEdQ7cjIxb+7qVCSxFKgxO+mAQbsNgt/5XQ== diff --git a/package.json b/package.json index 337606d3..43fe8df3 100644 --- a/package.json +++ b/package.json @@ -28,12 +28,18 @@ }, "license": "MIT", "author": "Nathan Hopkins ", - "main": "javascript/stimulus_reflex.js", + "source": "javascript/stimulus_reflex.js", + "main": "javascript/dist/stimulus_reflex.js", + "module": "javascript/dist/stimulus_reflex.module.js", + "esmodule": "javascript/dist/stimulus_reflex.modern.js", "scripts": { + "prepare": "yarn build", "postinstall": "node javascript/scripts/post_install.js", "prettier-standard:check": "yarn run prettier-standard --check *.js **/*.js", "prettier-standard:format": "yarn run prettier-standard *.js **/*.js", - "test": "yarn run mocha --require @babel/register" + "test": "yarn run mocha --require @babel/register", + "build": "microbundle --target browser --format modern,es,cjs", + "dev": "microbundle watch --target browser --format modern,es,cjs" }, "dependencies": { "@rails/actioncable": ">= 6.0", @@ -45,9 +51,13 @@ "@babel/core": "^7.6.2", "@babel/preset-env": "^7.6.2", "@babel/register": "^7.6.2", + "@rails/actioncable": "^6.0.3-3", "assert": "^2.0.0", + "cable_ready": "^4.4.0-pre0", "jsdom": "^16.0.1", + "microbundle": "^0.12.3", "mocha": "^8.0.1", - "prettier-standard": "^16.1.0" + "prettier-standard": "^16.1.0", + "stimulus": "^1.1.1" } } diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..65b7809b --- /dev/null +++ b/yarn.lock @@ -0,0 +1,6256 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@angular/compiler@8.2.14": + version "8.2.14" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-8.2.14.tgz#46db7a9d1c17f236126518ff26480c160d5a6183" + integrity sha512-ABZO4E7eeFA1QyJ2trDezxeQM5ZFa1dXw1Mpl/+1vuXDKNjJgNyWYwKp/NwRkLmrsuV0yv4UDCDe4kJOGbPKnw== + dependencies: + tslib "^1.9.0" + +"@babel/code-frame@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== + dependencies: + "@babel/highlight" "^7.8.3" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.5.5": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/compat-data@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" + integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== + +"@babel/core@^7.10.2", "@babel/core@^7.6.2": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" + integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.1" + "@babel/parser" "^7.12.3" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" + integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== + dependencies: + "@babel/types" "^7.12.1" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" + integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" + integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-builder-react-jsx-experimental@^7.12.1": + version "7.12.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz#55fc1ead5242caa0ca2875dcb8eed6d311e50f48" + integrity sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-module-imports" "^7.12.1" + "@babel/types" "^7.12.1" + +"@babel/helper-builder-react-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d" + integrity sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-compilation-targets@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" + integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g== + dependencies: + "@babel/compat-data" "^7.12.1" + "@babel/helper-validator-option" "^7.12.1" + browserslist "^4.12.0" + semver "^5.5.0" + +"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.7.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" + 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" + +"@babel/helper-create-regexp-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" + integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + regexpu-core "^4.7.1" + +"@babel/helper-define-map@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" + integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" + +"@babel/helper-explode-assignable-expression@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" + integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-hoist-variables@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" + integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" + integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" + integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-module-transforms@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + 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" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + +"@babel/helper-regex@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" + integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== + dependencies: + lodash "^4.17.19" + +"@babel/helper-remap-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" + 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" + +"@babel/helper-replace-supers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" + integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + +"@babel/helper-validator-option@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" + integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== + +"@babel/helper-wrap-function@^7.10.4": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" + 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" + +"@babel/helpers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" + integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + 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" + +"@babel/parser@7.9.4": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" + integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== + +"@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3", "@babel/parser@^7.3.3": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" + integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== + +"@babel/plugin-proposal-async-generator-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" + integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== + 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" + +"@babel/plugin-proposal-class-properties@7.7.4": + version "7.7.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz#2f964f0cb18b948450362742e33e15211e77c2ba" + integrity sha512-EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.7.4" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-proposal-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-dynamic-import@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" + integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-export-namespace-from@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" + integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" + integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" + integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" + integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + 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" + +"@babel/plugin-proposal-optional-catch-binding@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" + integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" + integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== + 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" + +"@babel/plugin-proposal-private-methods@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" + integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" + integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz#a77670d9abe6d63e8acadf4c31bb1eb5a506bbdd" + integrity sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-import-meta@^7.10.1": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.10.1", "@babel/plugin-syntax-jsx@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-arrow-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" + integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" + 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" + +"@babel/plugin-transform-block-scoped-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" + integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-block-scoping@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" + integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-classes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" + 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" + +"@babel/plugin-transform-computed-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" + integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-destructuring@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" + integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" + integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-duplicate-keys@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" + integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-exponentiation-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" + integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-flow-strip-types@^7.10.1", "@babel/plugin-transform-flow-strip-types@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" + integrity sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-flow" "^7.12.1" + +"@babel/plugin-transform-for-of@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" + integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-function-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" + integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" + integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" + integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-modules-amd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" + 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" + +"@babel/plugin-transform-modules-commonjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" + 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" + +"@babel/plugin-transform-modules-systemjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" + 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" + +"@babel/plugin-transform-modules-umd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" + integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== + dependencies: + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" + integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + +"@babel/plugin-transform-new-target@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" + integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-object-super@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" + integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + +"@babel/plugin-transform-parameters@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" + integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-property-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" + integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-display-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d" + integrity sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-jsx-development@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.1.tgz#0b8f8cd531dcf7991f1e5f2c10a2a4f1cfc78e36" + integrity sha512-IilcGWdN1yNgEGOrB96jbTplRh+V2Pz1EoEwsKsHfX1a/L40cUYuD71Zepa7C+ujv7kJIxnDftWeZbKNEqZjCQ== + dependencies: + "@babel/helper-builder-react-jsx-experimental" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" + +"@babel/plugin-transform-react-jsx-self@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28" + integrity sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-jsx-source@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz#d07de6863f468da0809edcf79a1aa8ce2a82a26b" + integrity sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-jsx@^7.10.1", "@babel/plugin-transform-react-jsx@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.1.tgz#c2d96c77c2b0e4362cc4e77a43ce7c2539d478cb" + integrity sha512-RmKejwnT0T0QzQUzcbP5p1VWlpnP8QHtdhEtLG55ZDQnJNalbF3eeDyu3dnGKvGzFIQiBzFhBYTwvv435p9Xpw== + dependencies: + "@babel/helper-builder-react-jsx" "^7.10.4" + "@babel/helper-builder-react-jsx-experimental" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" + +"@babel/plugin-transform-react-pure-annotations@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" + integrity sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.10.1", "@babel/plugin-transform-regenerator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" + integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" + integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-shorthand-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" + integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" + integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + +"@babel/plugin-transform-sticky-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" + integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + +"@babel/plugin-transform-template-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" + integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typeof-symbol@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" + integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-escapes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" + integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" + integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.6.2": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" + integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== + dependencies: + "@babel/compat-data" "^7.12.1" + "@babel/helper-compilation-targets" "^7.12.1" + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@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.1" + "@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.1" + "@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.1" + "@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.1" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@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.1" + core-js-compat "^3.6.2" + semver "^5.5.0" + +"@babel/preset-flow@^7.10.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.12.1.tgz#1a81d376c5a9549e75352a3888f8c273455ae940" + integrity sha512-UAoyMdioAhM6H99qPoKvpHMzxmNVXno8GYU/7vZmGaHk6/KqfDYL1W0NxszVbJ2EP271b7e6Ox+Vk2A9QsB3Sw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-flow-strip-types" "^7.12.1" + +"@babel/preset-modules@^0.1.3": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + 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" + +"@babel/preset-react@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.1.tgz#7f022b13f55b6dd82f00f16d1c599ae62985358c" + integrity sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-display-name" "^7.12.1" + "@babel/plugin-transform-react-jsx" "^7.12.1" + "@babel/plugin-transform-react-jsx-development" "^7.12.1" + "@babel/plugin-transform-react-jsx-self" "^7.12.1" + "@babel/plugin-transform-react-jsx-source" "^7.12.1" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + +"@babel/register@^7.6.2": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.1.tgz#cdb087bdfc4f7241c03231f22e15d211acf21438" + integrity sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q== + dependencies: + find-cache-dir "^2.0.0" + lodash "^4.17.19" + make-dir "^2.1.0" + pirates "^4.0.0" + source-map-support "^0.5.16" + +"@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" + integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" + integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.12.1" + "@babel/types" "^7.12.1" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" + integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@glimmer/interfaces@^0.41.4": + version "0.41.4" + resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.41.4.tgz#3f3e26abea8a4e1463130e9a75e94372781d154b" + integrity sha512-MzXwMyod3MlwSZezHSaVBsCEIW/giYYfTDYARR46QnYsaFVatMVbydjsI7jkAuBCbnLCyNOIc1TrYIj71i/rpg== + +"@glimmer/syntax@0.41.4": + version "0.41.4" + resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.41.4.tgz#9c0c763aab44069c828ce782947c84d31ff75879" + integrity sha512-NLPNirZDbNmpZ8T/ccle22zt2rhUq5il7ST6IJk62T58QZeJsdr3m3RS4kaGSBsQhXoKELrgX048yYEX5sC+fw== + dependencies: + "@glimmer/interfaces" "^0.41.4" + "@glimmer/util" "^0.41.4" + handlebars "^4.0.13" + simple-html-tokenizer "^0.5.7" + +"@glimmer/util@^0.41.4": + version "0.41.4" + resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.41.4.tgz#508fd82ca40305416e130f0da7b537295ded7989" + integrity sha512-DwS94K+M0vtG+cymxH0rslJr09qpdjyOLdCjmpKcG/nNiZQfMA1ybAaFEmwk9UaVlUG9STENFeQwyrLevJB+7g== + +"@iarna/toml@2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab" + integrity sha512-FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg== + +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + +"@rails/actioncable@>= 6.0": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3.tgz#722b4b639936129307ddbab3a390f6bcacf3e7bc" + integrity sha512-I01hgqxxnOgOtJTGlq0ZsGJYiTEEiSGVEGQn3vimZSqEP1HqzyFNbzGTq14Xdyeow2yGJjygjoFF1pmtE+SQaw== + +"@rollup/plugin-alias@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.1.tgz#bb96cf37fefeb0a953a6566c284855c7d1cd290c" + integrity sha512-hNcQY4bpBUIvxekd26DBPgF7BT4mKVNDF5tBG4Zi+3IgwLxGYRY0itHs9D0oLVwXM5pvJDWJlBQro+au8WaUWw== + dependencies: + slash "^3.0.0" + +"@rollup/plugin-babel@^5.0.3": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.2.1.tgz#20fc8f8864dc0eaa1c5578408459606808f72924" + integrity sha512-Jd7oqFR2dzZJ3NWANDyBjwTtX/lYbZpVcmkHrfQcpvawHs9E4c0nYk5U2mfZ6I/DZcIvy506KZJi54XK/jxH7A== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/plugin-commonjs@^13.0.0": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-13.0.2.tgz#b7783f0db049450c72d60bc06cf48d4951515e58" + integrity sha512-9JXf2k8xqvMYfqmhgtB6eCgMN9fbxwF1XDF3mGKJc6pkAmt0jnsqurxQ0tC1akQKNSXCm7c3unQxa3zuxtZ7mQ== + dependencies: + "@rollup/pluginutils" "^3.0.8" + commondir "^1.0.1" + estree-walker "^1.0.1" + glob "^7.1.2" + is-reference "^1.1.2" + magic-string "^0.25.2" + resolve "^1.11.0" + +"@rollup/plugin-json@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" + integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== + dependencies: + "@rollup/pluginutils" "^3.0.8" + +"@rollup/plugin-node-resolve@^6.1.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-6.1.0.tgz#0d2909f4bf606ae34d43a9bc8be06a9b0c850cf0" + integrity sha512-Cv7PDIvxdE40SWilY5WgZpqfIUEaDxFxs89zCAHjqyRwlTSuql4M5hjIuc5QYJkOH0/vyiyNXKD72O+LhRipGA== + dependencies: + "@rollup/pluginutils" "^3.0.0" + "@types/resolve" "0.0.8" + builtin-modules "^3.1.0" + is-module "^1.0.0" + resolve "^1.11.1" + +"@rollup/pluginutils@^3.0.0", "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@samverschueren/stream-to-observable@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301" + integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ== + dependencies: + any-observable "^0.3.0" + +"@stimulus/core@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@stimulus/core/-/core-1.1.1.tgz#42b0cfe5b73ca492f41de64b77a03980bae92c82" + integrity sha512-PVJv7IpuQx0MVPCBblXc6O2zbCmU8dlxXNH4bC9KK6LsvGaE+PCXXrXQfXUwAsse1/CmRu/iQG7Ov58himjiGg== + dependencies: + "@stimulus/mutation-observers" "^1.1.1" + +"@stimulus/multimap@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@stimulus/multimap/-/multimap-1.1.1.tgz#b95e3fd607345ab36e5d5b55486ee1a12d56b331" + integrity sha512-26R1fI3a8uUj0WlMmta4qcfIQGlagegdP4PTz6lz852q/dXlG6r+uPS/bx+H8GtfyS+OOXVr3SkZ0Zg0iRqRfQ== + +"@stimulus/mutation-observers@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@stimulus/mutation-observers/-/mutation-observers-1.1.1.tgz#0f6c6f081308427fed2a26360dda0c173b79cfc0" + integrity sha512-/zCnnw1KJlWO2mrx0yxYaRFZWMGnDMdOgSnI4hxDLxdWVuL2HMROU8FpHWVBLjKY3T9A+lGkcrmPGDHF3pfS9w== + dependencies: + "@stimulus/multimap" "^1.1.1" + +"@stimulus/webpack-helpers@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@stimulus/webpack-helpers/-/webpack-helpers-1.1.1.tgz#eff60cd4e58b921d1a2764dc5215f5141510f2c2" + integrity sha512-XOkqSw53N9072FLHvpLM25PIwy+ndkSSbnTtjKuyzsv8K5yfkFB2rv68jU1pzqYa9FZLcvZWP4yazC0V38dx9A== + +"@types/estree@*": + version "0.0.45" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" + integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/node@*": + version "14.14.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.5.tgz#e92d3b8f76583efa26c1a63a21c9d3c1143daa29" + integrity sha512-H5Wn24s/ZOukBmDn03nnGTp18A60ny9AmCwnEcgJiTgSGsCO7k+NWP7zjCCbhlcnVCoI+co52dUAt9GMhOSULw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + +"@types/resolve@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" + integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== + dependencies: + "@types/node" "*" + +"@types/unist@^2.0.0", "@types/unist@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" + integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== + +"@typescript-eslint/typescript-estree@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.6.1.tgz#fb363dd4ca23384745c5ea4b7f4c867432b00d31" + integrity sha512-+sTnssW6bcbDZKE8Ce7VV6LdzkQz2Bxk7jzk1J8H1rovoTxnm6iXvYIyncvNsaB/kBCOM63j/LNJfm27bNdUoA== + dependencies: + debug "^4.1.1" + glob "^7.1.4" + is-glob "^4.0.1" + lodash.unescape "4.0.1" + semver "^6.3.0" + tsutils "^3.17.1" + +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + +abab@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-jsx@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.0, acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + 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" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +angular-estree-parser@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/angular-estree-parser/-/angular-estree-parser-1.3.1.tgz#5b590c3ef431fccb512755eea563029f84c043ee" + integrity sha512-jvlnNk4aoEmA6EKK12OnsOkCSdsWleBsYB+aWyH8kpfTB6Li1kxWVbHKVldH9zDCwVVi1hXfqPi/gbSv49tkbQ== + dependencies: + lines-and-columns "^1.1.6" + tslib "^1.9.3" + +angular-html-parser@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/angular-html-parser/-/angular-html-parser-1.4.0.tgz#4080989e46cad183264f950fb475590888d31104" + integrity sha512-5KyzzYOeZV9g9ahXw4rbi8IIbMjUdXoarXJ0CfbWue5U1YsvMnjMZJ3oadpU8ZtnIx1zR/dsyt+FLJx2U65d2Q== + dependencies: + tslib "^1.9.3" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.2.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +any-observable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" + integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-differ@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1" + integrity sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w== + +array-filter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" + integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" + integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== + dependencies: + es6-object-assign "^1.1.0" + is-nan "^1.2.1" + object-is "^1.0.1" + util "^0.12.0" + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +asyncro@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" + integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== + +autoprefixer@^9.8.0: + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" + integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== + dependencies: + array-filter "^1.0.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" + integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-macros@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-transform-async-to-promises@^0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-promises/-/babel-plugin-transform-async-to-promises-0.8.15.tgz#13b6d8ef13676b4e3c576d3600b85344bb1ba346" + integrity sha512-fDXP68ZqcinZO2WCiimCL9zhGjGXOnn3D33zvbh+yheZ/qOrNVVDDIBtAaM3Faz8TRvQzHiRKsu3hfrBAhEncQ== + +babel-plugin-transform-replace-expressions@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-replace-expressions/-/babel-plugin-transform-replace-expressions-0.2.0.tgz#59cba8df4b4a675e7c78cd21548f8e7685bbc30d" + integrity sha512-Eh1rRd9hWEYgkgoA3D0kGp7xJ/wgVshgsqmq60iC4HVWD+Lux+fNHSHBa2v1Hsv+dHflShC71qKhiH40OiPtDA== + dependencies: + "@babel/parser" "^7.3.3" + +bail@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brotli-size@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/brotli-size/-/brotli-size-4.0.0.tgz#a05ee3faad3c0e700a2f2da826ba6b4d76e69e5e" + integrity sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA== + dependencies: + duplexer "0.1.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: + version "4.14.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015" + integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA== + dependencies: + caniuse-lite "^1.0.30001135" + electron-to-chromium "^1.3.571" + escalade "^3.1.0" + node-releases "^1.1.61" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +builtin-modules@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" + integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== + +"cable_ready@>= 4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.3.0.tgz#69c6c6963a60d7891f43c7530e343007a00a50b3" + integrity sha512-/hjwgdwMoe2hE5KKunsuWXDTr26GzwR7CovdFKHdSHD/yZTFFIv/eY27slMiXUEb57X12GHdliSM59rftTKpoQ== + dependencies: + morphdom "^2.6.1" + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" + integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + 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" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: + version "1.0.30001151" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001151.tgz#1ddfde5e6fff02aad7940b4edb7d3ac76b0cb00b" + integrity sha512-Zh3sHqskX6mHNrqUerh+fkf0N72cMxrmflzje/JyVImfpknscMnkeJrlFGJcqTmaa0iszdYptGpWMJCRQDkBVw== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + 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" + +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + 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" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + 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" + optionalDependencies: + fsevents "~2.1.2" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cjk-regex@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cjk-regex/-/cjk-regex-2.0.0.tgz#060aa111e61092768c438ccc9c643a53e8fe1ee5" + integrity sha512-E4gFi2f3jC0zFVHpaAcupW+gv9OejZ2aV3DP/LlSO0dDcZJAXw7W0ivn+vN17edN/PhU4HCgs1bfx7lPK7FpdA== + dependencies: + regexp-util "^1.2.1" + unicode-regex "^2.0.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^2.0.0, cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collapse-white-space@^1.0.2: + version "1.0.6" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" + integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" + integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.4" + +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.19.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-with-sourcemaps@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== + dependencies: + source-map "^0.6.1" + +convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +core-js-compat@^3.6.2: + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== + dependencies: + browserslist "^4.8.5" + semver "7.0.0" + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@5.2.1, cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + 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" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + 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" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-modules-loader-core@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16" + 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" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-selector-tokenizer@^0.7.0: + version "0.7.3" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" + integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg== + dependencies: + cssesc "^3.0.0" + fastparse "^1.1.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0.tgz#21993fa270d742642a90409a2c0cb3ac0298adf6" + integrity sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw== + dependencies: + mdn-data "2.0.12" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + 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" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + 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" + +csso@^4.0.2: + version "4.1.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.1.0.tgz#1d31193efa99b87aa6bad6c0cef155e543d09e8b" + integrity sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg== + dependencies: + css-tree "^1.0.0" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +dashify@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dashify/-/dashify-2.0.0.tgz#fff270ca2868ca427fee571de35691d6e437a648" + integrity sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A== + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +date-fns@^1.27.2: + version "1.30.1" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== + +debug@4.2.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decimal.js@^10.2.0: + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + +dedent@0.7.0, dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +del@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" + integrity sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA== + dependencies: + globby "^10.0.1" + graceful-fs "^4.2.2" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.1" + p-map "^3.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff@4.0.2, diff@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domelementtype@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971" + integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +duplexer@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +editorconfig-to-prettier@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/editorconfig-to-prettier/-/editorconfig-to-prettier-0.1.1.tgz#7391c7067dfd68ffee65afc2c4fbe4fba8d4219a" + integrity sha512-MMadSSVRDb4uKdxV6bCXXN4cTsxIsXYtV4XdPu6FOCSAw6zsCIDA+QEktEU+u6h+c/mTrul5NR+pwFpPxwetiQ== + +editorconfig@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" + integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== + dependencies: + commander "^2.19.0" + lru-cache "^4.1.5" + semver "^5.6.0" + sigmund "^1.0.1" + +electron-to-chromium@^1.3.571: + version "1.3.584" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.584.tgz#506cf7ba5895aafa8241876ab028654b61fd9ceb" + integrity sha512-NB3DzrTzJFhWkUp+nl2KtUtoFzrfGXTir2S+BU4tXGyXH9vlluPuFpE3pTKeH7+PY460tHLjKzh6K2+TWwW+Ww== + +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +entities@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.17.5: + version "1.17.7" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" + 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" + +es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + 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-negative-zero "^2.0.0" + 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" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-object-assign@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" + integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= + +es6-promisify@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.1.1.tgz#46837651b7b06bf6fff893d03f29393668d01621" + integrity sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg== + +escalade@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@^1.14.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-scope@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.0.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +esutils@2.0.3, esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +execa@^2.0.3, execa@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-2.1.0.tgz#e5d3ecd837d2a60ec50f3da78fd39767747bbe99" + integrity sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^3.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +extend@^3.0.0, extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.0.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + 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" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastparse@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + +fastq@^1.6.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" + integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== + dependencies: + reusify "^1.0.4" + +figures@^1.0.1, figures@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + +filesize@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" + integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-parent-dir@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" + integrity sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ= + +find-project-root@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/find-project-root/-/find-project-root-1.1.1.tgz#d242727a2d904725df5714f23dfdcdedda0b6ef8" + integrity sha1-0kJyei2QRyXfVxTyPf3N7doLbvg= + +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== + +flow-parser@0.111.3: + version "0.111.3" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.111.3.tgz#4c256aa21a5dbb53d5305e3512cc120659ca08f3" + integrity sha512-iEjGZ94OBMcESxnLorXNjJmtd/JtQYXUVrQpfwvtAKkuyawRmv+2LM6nqyOsOJkISEYbyY6ziudRE0u4VyPSVA== + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +"form-serialize@>= 0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/form-serialize/-/form-serialize-0.7.2.tgz#b0a2ff0c22026fb6d3d15c9d33f6de6a432e4732" + integrity sha1-sKL/DCICb7bT0VydM/beakMuRzI= + +fs-extra@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +generic-names@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872" + integrity sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ== + dependencies: + loader-utils "^1.1.0" + +gensync@^1.0.0-beta.1: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-stdin@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" + integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== + +get-stream@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + +glob@7.1.6, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + 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" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + +globalyzer@^0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.4.tgz#bc8e273afe1ac7c24eea8def5b802340c5cc534f" + integrity sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA== + +globby@6.1.0, globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +globrex@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + +graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +graphql@14.6.0: + version "14.6.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.6.0.tgz#57822297111e874ea12f5cd4419616930cd83e49" + integrity sha512-VKzfvHEKybTKjQVpTFrA5yUq2S9ihcZvfJAtsDBBCuV6wauPu1xl/f9ehgVf0FcEJJs4vz6ysb/ZMkGigQZseg== + dependencies: + iterall "^1.2.2" + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +gzip-size@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" + integrity sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA= + dependencies: + duplexer "^0.1.1" + +gzip-size@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handlebars@^4.0.13: + version "4.7.6" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" + integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + +html-element-attributes@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/html-element-attributes/-/html-element-attributes-2.2.1.tgz#ff397c7a3d6427064b117b6f36b45be08e79db93" + integrity sha512-gGTgCeQu+g1OFExZKWQ1LwbFXxLJ6cGdCGj64ByEaxatr/EPVc23D6Gxngb37ao+SNInP/sGu8FXxRsSxMm7aQ== + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-styles@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/html-styles/-/html-styles-1.0.0.tgz#a18061fd651f99c6b75c45c8e0549a3bc3e01a75" + integrity sha1-oYBh/WUfmca3XEXI4FSaO8PgGnU= + +html-tag-names@1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/html-tag-names/-/html-tag-names-1.1.5.tgz#f537420c16769511283f8ae1681785fbc89ee0a9" + integrity sha512-aI5tKwNTBzOZApHIynaAwecLBv8TlZTEy/P4Sj2SzzAhBrGuI8yGZ0UIXVPQzOHGS+to2mjb04iy6VWt/8+d8A== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= + +ignore@4.0.6, ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^3.3.7: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +ignore@^5.1.1: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" + integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== + dependencies: + import-from "^3.0.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" + integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== + dependencies: + resolve-from "^5.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.0, inherits@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inquirer@^7.0.0: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + +is-ci@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + 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" + +is-core-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" + integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== + dependencies: + has "^1.0.3" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-function@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" + integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-nan@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.0.tgz#85d1f5482f7051c2019f5673ccebdb06f3b0db03" + integrity sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ== + dependencies: + define-properties "^1.1.3" + +is-negative-zero@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-observable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" + integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA== + dependencies: + symbol-observable "^1.1.0" + +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-inside@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" + integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== + +is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-potential-custom-element-name@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + +is-promise@^2.1.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-reference@^1.1.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + +is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + dependencies: + has-symbols "^1.0.1" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + +is-typed-array@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d" + integrity sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ== + dependencies: + available-typed-arrays "^1.0.0" + es-abstract "^1.17.4" + foreach "^2.0.5" + has-symbols "^1.0.1" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-whitespace-character@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" + integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== + +is-word-character@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" + integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +iterall@^1.2.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + +jest-docblock@25.3.0: + version "25.3.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" + integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== + dependencies: + detect-newline "^3.0.0" + +jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +js-base64@^2.1.9: + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.14.0, js-yaml@^3.13.1: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.0.1: + version "16.4.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== + 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" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +leven@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@1.1.6, lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +linguist-languages@7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/linguist-languages/-/linguist-languages-7.6.0.tgz#6e3d9aa7a98ddf5299f8115788dce8deb8a97c9d" + integrity sha512-DBZPIWjrQmb/52UlSEN8MTiwwugrAh4NBX9/DyIG8IuO8rDLYDRM+KVPbuiPVKd3ResxYtZB5AiSuc8dTzOSog== + +lint-staged@9.4.3: + version "9.4.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-9.4.3.tgz#f55ad5f94f6e105294bfd6499b23142961f7b982" + integrity sha512-PejnI+rwOAmKAIO+5UuAZU9gxdej/ovSEOAY34yMfC3OS4Ac82vCBPzAWLReR9zCPOMqeVwQRaZ3bUBpAsaL2Q== + dependencies: + chalk "^2.4.2" + commander "^2.20.0" + cosmiconfig "^5.2.1" + debug "^4.1.1" + dedent "^0.7.0" + del "^5.0.0" + execa "^2.0.3" + listr "^0.14.3" + log-symbols "^3.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.1.1" + string-argv "^0.3.0" + stringify-object "^3.3.0" + +listr-silent-renderer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" + integrity sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4= + +listr-update-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2" + integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA== + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^2.3.0" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db" + integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw== + dependencies: + chalk "^2.4.1" + cli-cursor "^2.1.0" + date-fns "^1.27.2" + figures "^2.0.0" + +listr@^0.14.3: + version "0.14.3" + resolved "https://registry.yarnpkg.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586" + integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA== + dependencies: + "@samverschueren/stream-to-observable" "^0.3.0" + is-observable "^1.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.5.0" + listr-verbose-renderer "^0.5.0" + p-map "^2.0.0" + rxjs "^6.3.3" + +loader-utils@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.unescape@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" + integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash.uniqby@4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" + integrity sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI= + +lodash@^4.17.14, lodash@^4.17.19: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + +log-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" + integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= + dependencies: + chalk "^1.0.0" + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +lru-cache@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +magic-string@^0.22.4: + version "0.22.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== + dependencies: + vlq "^0.2.2" + +magic-string@^0.25.2: + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + +markdown-escapes@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" + integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== + +maxmin@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-2.1.0.tgz#4d3b220903d95eee7eb7ac7fa864e72dc09a3166" + integrity sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY= + dependencies: + chalk "^1.0.0" + figures "^1.0.1" + gzip-size "^3.0.0" + pretty-bytes "^3.0.0" + +mdn-data@2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.12.tgz#bbb658d08b38f574bbb88f7b83703defdcc46844" + integrity sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q== + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +mem@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" + integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^2.1.0" + p-is-promise "^2.1.0" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3, merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +microbundle@^0.12.3: + version "0.12.4" + resolved "https://registry.yarnpkg.com/microbundle/-/microbundle-0.12.4.tgz#b0cf10b7dbcf9424a13b04086aef9cbf416756a4" + integrity sha512-KskaxaeJc2X/AnohtdYo97L55nZZiNGPIS/ngXuDsIVnPfwHdtZWYJAJLAG+08E9VBr+eLa6N6VX+e2uoj/cNQ== + dependencies: + "@babel/core" "^7.10.2" + "@babel/plugin-proposal-class-properties" "7.7.4" + "@babel/plugin-syntax-import-meta" "^7.10.1" + "@babel/plugin-syntax-jsx" "^7.10.1" + "@babel/plugin-transform-flow-strip-types" "^7.10.1" + "@babel/plugin-transform-react-jsx" "^7.10.1" + "@babel/plugin-transform-regenerator" "^7.10.1" + "@babel/preset-env" "^7.11.0" + "@babel/preset-flow" "^7.10.1" + "@babel/preset-react" "^7.10.4" + "@rollup/plugin-alias" "^3.1.1" + "@rollup/plugin-babel" "^5.0.3" + "@rollup/plugin-commonjs" "^13.0.0" + "@rollup/plugin-json" "^4.1.0" + "@rollup/plugin-node-resolve" "^6.1.0" + asyncro "^3.0.0" + autoprefixer "^9.8.0" + babel-plugin-macros "^2.8.0" + babel-plugin-transform-async-to-promises "^0.8.15" + babel-plugin-transform-replace-expressions "^0.2.0" + brotli-size "^4.0.0" + builtin-modules "^3.1.0" + camelcase "^5.3.1" + cssnano "^4.1.10" + es6-promisify "^6.1.1" + escape-string-regexp "^4.0.0" + filesize "^6.1.0" + gzip-size "^5.1.1" + kleur "^3.0.3" + lodash.merge "^4.6.2" + module-details-from-path "^1.0.3" + pretty-bytes "^5.3.0" + rollup "^1.32.1" + rollup-plugin-bundle-size "^1.0.1" + rollup-plugin-es3 "^1.1.0" + rollup-plugin-postcss "^2.9.0" + rollup-plugin-terser "^5.3.0" + rollup-plugin-typescript2 "^0.25.3" + sade "^1.7.3" + tiny-glob "^0.2.6" + tslib "^1.13.0" + typescript "^3.9.5" + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime-db@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.27" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + dependencies: + mime-db "1.44.0" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@1.2.5, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp@^0.5.1, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mocha@^8.0.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.0.tgz#f8aa79110b4b5a6580c65d4dd8083c425282624e" + integrity sha512-lEWEMq2LMfNJMKeuEwb5UELi+OgFDollXaytR5ggQcHpzG3NP/R7rvixAvF+9/lLsTWhWG+4yD2M70GsM06nxw== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.4.3" + debug "4.2.0" + diff "4.0.2" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "3.14.0" + log-symbols "4.0.0" + minimatch "3.0.4" + ms "2.1.2" + nanoid "3.1.12" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "7.2.0" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.0.2" + yargs "13.3.2" + yargs-parser "13.1.2" + yargs-unparser "2.0.0" + +module-details-from-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" + integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is= + +morphdom@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/morphdom/-/morphdom-2.6.1.tgz#e868e24f989fa3183004b159aed643e628b4306e" + integrity sha512-Y8YRbAEP3eKykroIBWrjcfMw7mmwJfjhqdpSvoqinu8Y702nAwikpXcNFDiIkyvfCLxLM9Wu95RZqo4a9jFBaA== + +mri@^1.1.0, mri@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6" + integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +multimatch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b" + integrity sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA== + dependencies: + array-differ "^2.0.3" + array-union "^1.0.2" + arrify "^1.0.1" + minimatch "^3.0.4" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +n-readlines@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/n-readlines/-/n-readlines-1.0.0.tgz#c353797f216c253fdfef7e91da4e8b17c29a91a6" + integrity sha512-ISDqGcspVu6U3VKqtJZG1uR55SmNNF9uK0EMq1IvNVVZOui6MW6VR0+pIZhqz85ORAGp+4zW+5fJ/SE7bwEibA== + +nanoid@3.1.12: + version "3.1.12" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" + integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +neo-async@^2.6.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-releases@^1.1.61: + version "1.1.64" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.64.tgz#71b4ae988e9b1dd7c1ffce58dd9e561752dfebc5" + integrity sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg== + +normalize-path@3.0.0, normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +npm-run-path@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-3.1.0.tgz#7f91be317f6a466efed3c9f2980ad8a4ee8b0fa5" + integrity sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg== + dependencies: + path-key "^3.0.0" + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-inspect@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== + +object-is@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz#2e3b9e65560137455ee3bd62aec4d90a2ea1cc81" + integrity sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.0, object.assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" + integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.0" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +object.values@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.8.1, optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + 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" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + +p-is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" + integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== + dependencies: + p-try "^2.0.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + +p-queue@^6.3.0: + version "6.6.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== + dependencies: + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" + +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-entities@^1.1.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" + integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + 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" + +parse-srcset@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1" + integrity sha1-8r0iH2zJcKk42IVWq8WJyqqiveE= + +parse5@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +please-upgrade-node@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + 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" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + +postcss-less@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-2.0.0.tgz#5d190b8e057ca446d60fe2e2587ad791c9029fb8" + integrity sha512-pPNsVnpCB13nBMOcl5GVh8JGmB0JGFjqkLUDzKdVpptFFKEe9wFdEzvh2j4lD2AD+7qcrUfw9Ta+oi5+Fw7jjQ== + dependencies: + postcss "^5.2.16" + +postcss-load-config@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-media-query-parser@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + 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" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + 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" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + 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" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + 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" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb" + integrity sha1-thTJcgvmgW6u41+zpfqh26agXds= + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-2.0.0.tgz#473d0d7326651d8408585c2a154115d5cb36cce0" + integrity sha512-eqp+Bva+U2cwQO7dECJ8/V+X+uH1HduNeITB0CPPFAu6d/8LKQ32/j+p9rQ2YL1QytVcrNU0X+fBqgGmQIA1Rw== + dependencies: + css-modules-loader-core "^1.1.0" + generic-names "^2.0.1" + lodash.camelcase "^4.3.0" + postcss "^7.0.1" + string-hash "^1.1.1" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + 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" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + 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" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + 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" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + 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" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + 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" + +postcss-scss@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.0.0.tgz#248b0a28af77ea7b32b1011aba0f738bda27dea1" + integrity sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug== + dependencies: + postcss "^7.0.0" + +postcss-selector-parser@2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A= + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.2: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + 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" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss-values-parser@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz#5d9fa63e2bcb0179ce48f3235303765eb89f3047" + integrity sha512-3M3p+2gMp0AH3da530TlX8kiO1nxdTnc3C6vr8dMxRLIlh8UYkz0/wcwptSXjhtx2Fr0TySI7a+BHDQ8NL7LaQ== + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" + integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I= + dependencies: + chalk "^1.1.3" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^5.2.16: + version "5.2.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" + integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^6.0.1: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27, postcss@^7.0.32: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier-standard@^16.1.0: + version "16.4.1" + resolved "https://registry.yarnpkg.com/prettier-standard/-/prettier-standard-16.4.1.tgz#964e7e3f3029427ab8e01bdffb72dea9a87f62c8" + integrity sha512-IW3Sct4GOdqc1s4+1HZjH2HegzLZQ6mDMl2xz6i6KHCac7kCM+obLbvm2e0zp8PytKkLQCdOpj0cWWa48Ruetw== + dependencies: + chalk "^2.4.2" + diff "^4.0.2" + eslint "^6.8.0" + execa "^2.0.4" + find-up "^4.1.0" + get-stdin "^7.0.0" + globby "^6.1.0" + ignore "^3.3.7" + lint-staged "9.4.3" + mri "^1.1.5" + multimatch "^3.0.0" + prettierx "0.11.3" + +prettierx@0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/prettierx/-/prettierx-0.11.3.tgz#379d1aa7df4dbd049c1b34a1990d903efa4e6130" + integrity sha512-Xf04LEfD3ITo26i5U/zR++hwqKPG3feR06rrjB0t2o+QFv8ZidFp4o7nPqPGLfE4UwHJgd0qwnZKwm0MsUQHUA== + dependencies: + "@angular/compiler" "8.2.14" + "@babel/code-frame" "7.8.3" + "@babel/parser" "7.9.4" + "@glimmer/syntax" "0.41.4" + "@iarna/toml" "2.2.3" + "@typescript-eslint/typescript-estree" "2.6.1" + angular-estree-parser "1.3.1" + angular-html-parser "1.4.0" + camelcase "5.3.1" + chalk "3.0.0" + cjk-regex "2.0.0" + cosmiconfig "5.2.1" + dashify "2.0.0" + dedent "0.7.0" + diff "4.0.2" + editorconfig "0.15.3" + editorconfig-to-prettier "0.1.1" + escape-string-regexp "2.0.0" + esutils "2.0.3" + find-parent-dir "0.3.0" + find-project-root "1.1.1" + flow-parser "0.111.3" + get-stream "4.1.0" + globby "6.1.0" + graphql "14.6.0" + html-element-attributes "2.2.1" + html-styles "1.0.0" + html-tag-names "1.1.5" + ignore "4.0.6" + is-ci "2.0.0" + jest-docblock "25.3.0" + json-stable-stringify "1.0.1" + leven "3.1.0" + lines-and-columns "1.1.6" + linguist-languages "7.6.0" + lodash.uniqby "4.7.0" + mem "5.1.1" + minimatch "3.0.4" + minimist "1.2.5" + n-readlines "1.0.0" + normalize-path "3.0.0" + parse-srcset "1.0.2" + postcss-less "2.0.0" + postcss-media-query-parser "0.2.3" + postcss-scss "2.0.0" + postcss-selector-parser "2.2.3" + postcss-values-parser "1.5.0" + regexp-util "1.2.2" + remark-math "1.0.6" + remark-parse "5.0.0" + resolve "1.15.1" + semver "6.3.0" + string-width "4.2.0" + unicode-regex "3.0.0" + unified "8.4.2" + vnopts "1.0.2" + yaml "1.8.3" + yaml-unist-parser "1.1.1" + +pretty-bytes@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-3.0.1.tgz#27d0008d778063a0b4811bb35c79f1bd5d5fbccf" + integrity sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8= + dependencies: + number-is-nan "^1.0.0" + +pretty-bytes@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b" + integrity sha512-s1Iam6Gwz3JI5Hweaz4GoCD1WUNUIyzePFy5+Js2hjwGVt2Z79wNN+ZKOZ2vB6C+Xs6njyB84Z1IthQg8d9LxA== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise.series@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" + integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" + integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp-util@1.2.2, regexp-util@^1.2.0, regexp-util@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/regexp-util/-/regexp-util-1.2.2.tgz#5cf599134921eb0d776e41d41e9c0da33f0fa2fc" + integrity sha512-5/rl2UD18oAlLQEIuKBeiSIOp1hb5wCXcakl5yvHxlY1wyWI4D5cUKKzCibBeu741PA9JKvZhMqbkDQqPusX3w== + dependencies: + tslib "^1.9.0" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + 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" + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + +remark-math@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/remark-math/-/remark-math-1.0.6.tgz#49eb3dd15d298734c9ae21673115389793af4d1b" + integrity sha512-I43wU/QOQpXvVFXKjA4FHp5xptK65+5F6yolm8+69/JV0EqSOB64wURUZ3JK50JtnTL8FvwLiH2PZ+fvsBxviA== + dependencies: + trim-trailing-lines "^1.1.0" + +remark-parse@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95" + integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA== + dependencies: + collapse-white-space "^1.0.2" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^1.1.0" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^1.0.0" + vfile-location "^2.0.0" + xtend "^4.0.1" + +repeat-string@^1.5.4: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +replace-ext@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + 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" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + 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" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== + dependencies: + path-parse "^1.0.6" + +resolve@1.15.1: + version "1.15.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" + integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.16.0, resolve@^1.3.2: + version "1.18.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" + integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== + dependencies: + is-core-module "^2.0.0" + path-parse "^1.0.6" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup-plugin-bundle-size@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-bundle-size/-/rollup-plugin-bundle-size-1.0.3.tgz#d245cd988486b4040279f9fd33f357f61673e90f" + integrity sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ== + dependencies: + chalk "^1.1.3" + maxmin "^2.1.0" + +rollup-plugin-es3@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-es3/-/rollup-plugin-es3-1.1.0.tgz#f866f91b4db839e5b475d8e4a7b9d4c77ecade14" + integrity sha512-jTMqQgMZ/tkjRW4scf4ln5c0OiTSi+Lx/IEyFd41ldgGoLvvg9AQxmVOl93+KaoyB7XRYToYjiHDvO40NPF/fA== + dependencies: + magic-string "^0.22.4" + +rollup-plugin-postcss@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-2.9.0.tgz#e6ea0a1b8fdc4a49fc0385da58804e332750c282" + integrity sha512-Y7qDwlqjZMBexbB1kRJf+jKIQL8HR6C+ay53YzN+nNJ64hn1PNZfBE3c61hFUhD//zrMwmm7uBW30RuTi+CD0w== + dependencies: + chalk "^4.0.0" + concat-with-sourcemaps "^1.1.0" + cssnano "^4.1.10" + import-cwd "^3.0.0" + p-queue "^6.3.0" + pify "^5.0.0" + postcss "^7.0.27" + postcss-load-config "^2.1.0" + postcss-modules "^2.0.0" + promise.series "^0.2.0" + resolve "^1.16.0" + rollup-pluginutils "^2.8.2" + safe-identifier "^0.4.1" + style-inject "^0.3.0" + +rollup-plugin-terser@^5.3.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" + integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== + dependencies: + "@babel/code-frame" "^7.5.5" + jest-worker "^24.9.0" + rollup-pluginutils "^2.8.2" + serialize-javascript "^4.0.0" + terser "^4.6.2" + +rollup-plugin-typescript2@^0.25.3: + version "0.25.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.25.3.tgz#a5fb2f0f85488789334ce540abe6c7011cbdf40f" + integrity sha512-ADkSaidKBovJmf5VBnZBZe+WzaZwofuvYdzGAKTN/J4hN7QJCFYAq7IrH9caxlru6T5qhX41PNFS1S4HqhsGQg== + dependencies: + find-cache-dir "^3.0.0" + fs-extra "8.1.0" + resolve "1.12.0" + rollup-pluginutils "2.8.1" + tslib "1.10.0" + +rollup-pluginutils@2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97" + integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== + dependencies: + estree-walker "^0.6.1" + +rollup-pluginutils@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" + +rollup@^1.32.1: + version "1.32.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" + integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== + dependencies: + "@types/estree" "*" + "@types/node" "*" + acorn "^7.1.0" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== + +rxjs@^6.3.3, rxjs@^6.6.0: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + +sade@^1.7.3: + version "1.7.4" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.4.tgz#ea681e0c65d248d2095c90578c03ca0bb1b54691" + integrity sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== + dependencies: + mri "^1.1.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-identifier@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/safe-identifier/-/safe-identifier-0.4.2.tgz#cf6bfca31c2897c588092d1750d30ef501d59fcb" + integrity sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w== + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + +signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +simple-html-tokenizer@^0.5.7: + version "0.5.10" + resolved "https://registry.yarnpkg.com/simple-html-tokenizer/-/simple-html-tokenizer-0.5.10.tgz#0843e4f00c9677f1c81e3dfeefcee0a4aca8e5d0" + integrity sha512-1DHMUmvUOGuUZ9/+cX/+hOhWhRD5dEw6lodn8WuV+T+cQ31hhBcCu1dcDsNotowi4mMaNhrLyKoS+DtB81HdDA== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +source-map-support@^0.5.16, source-map-support@~0.5.12: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sourcemap-codec@^1.4.4: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + 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" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +state-toggle@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" + integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +"stimulus@>= 1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/stimulus/-/stimulus-1.1.1.tgz#53c2fded6849e7b85eed3ed8dd76e33abd74bec5" + integrity sha512-R0mBqKp48YnRDZOxZ8hiOH4Ilph3Yj78CIFTBkCwyHs4iGCpe7xlEdQ7cjIxb+7qVCSxFKgxO+mAQbsNgt/5XQ== + dependencies: + "@stimulus/core" "^1.1.1" + "@stimulus/webpack-helpers" "^1.1.1" + +string-argv@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +string-hash@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= + +string-width@4.2.0, string-width@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trimend@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz#6ddd9a8796bc714b489a3ae22246a208f37bfa46" + integrity sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +string.prototype.trimstart@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz#22d45da81015309cd0cdd79787e8919fc5c613e7" + integrity sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@3.1.1, strip-json-comments@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-inject@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" + integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + 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" + +supports-color@7.2.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0, supports-color@^5.4.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + 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" + +symbol-observable@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +terser@^4.6.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-glob@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.6.tgz#9e056e169d9788fe8a734dfa1ff02e9b92ed7eda" + integrity sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw== + dependencies: + globalyzer "^0.1.0" + globrex "^0.1.1" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +trim-trailing-lines@^1.0.0, trim-trailing-lines@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" + integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= + +trough@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== + +tslib@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + +tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.17.1: + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typescript@^3.9.5: + version "3.9.7" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" + integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== + +uglify-js@^3.1.4: + version "3.11.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.4.tgz#b47b7ae99d4bd1dca65b53aaa69caa0909e6fadf" + integrity sha512-FyYnoxVL1D6+jDGQpbK5jW6y/2JlVfRfEeQ67BPCUg5wfCjaKOpr2XeceE4QL+MkhxliLtf5EbrMDZgzpt2CNw== + +unherit@^1.0.4: + version "1.1.3" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" + integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== + dependencies: + inherits "^2.0.0" + xtend "^4.0.0" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + +unicode-regex@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unicode-regex/-/unicode-regex-3.0.0.tgz#0c20df914c6da0412b3714cd300726e0f7f24698" + integrity sha512-WiDJdORsqgxkZrjC8WsIP573130HNn7KsB0IDnUccW2BG2b19QQNloNhVe6DKk3Aef0UcoIHhNVj7IkkcYWrNw== + dependencies: + regexp-util "^1.2.0" + +unicode-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-regex/-/unicode-regex-2.0.0.tgz#ef8f6642c37dddcaa0c09af5b9456aabf6b436a3" + integrity sha512-5nbEG2YU7loyTvPABaKb+8B0u8L7vWCsVmCSsiaO249ZdMKlvrXlxR2ex4TUVAdzv/Cne/TdoXSSaJArGXaleQ== + dependencies: + regexp-util "^1.2.0" + +unified@8.4.2: + version "8.4.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-8.4.2.tgz#13ad58b4a437faa2751a4a4c6a16f680c500fff1" + integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unist-util-is@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" + integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== + +unist-util-remove-position@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz#ec037348b6102c897703eee6d0294ca4755a2020" + integrity sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A== + dependencies: + unist-util-visit "^1.1.0" + +unist-util-stringify-position@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" + integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== + dependencies: + "@types/unist" "^2.0.2" + +unist-util-visit-parents@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" + integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== + dependencies: + unist-util-is "^3.0.0" + +unist-util-visit@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" + integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== + dependencies: + unist-util-visit-parents "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +uri-js@^4.2.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" + integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + 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" + +util@^0.12.0: + version "0.12.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" + integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.0.3: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vfile-location@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" + integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA== + +vfile-message@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" + integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^2.0.0" + +vfile@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.0.tgz#26c78ac92eb70816b01d4565e003b7e65a2a0e01" + integrity sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + replace-ext "1.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message "^2.0.0" + +vlq@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== + +vnopts@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/vnopts/-/vnopts-1.0.2.tgz#f6a331473de0179d1679112cc090572b695202f7" + integrity sha512-d2rr2EFhAGHnTlURu49G7GWmiJV80HbAnkYdD9IFAtfhmxC+kSWEaZ6ZF064DJFTv9lQZQV1vuLTntyQpoanGQ== + dependencies: + chalk "^2.4.1" + leven "^2.1.0" + tslib "^1.9.3" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-typed-array@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2" + integrity sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ== + dependencies: + available-typed-arrays "^1.0.2" + es-abstract "^1.17.5" + foreach "^2.0.5" + function-bind "^1.1.1" + has-symbols "^1.0.1" + is-typed-array "^1.1.3" + +which@2.0.2, which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +workerpool@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.2.tgz#e241b43d8d033f1beb52c7851069456039d1d438" + integrity sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q== + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + +ws@^7.2.3: + version "7.3.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" + integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@^4.0.0, xtend@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yaml-unist-parser@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/yaml-unist-parser/-/yaml-unist-parser-1.1.1.tgz#a2bc7b72578718e6e5b0ebc945dde8e1f258b561" + integrity sha512-cGtqhHBlcft+rTKiPsVcSyi43Eqm5a1buYokW9VkztroKMErBSdR9ANHx+/XxNppHZTu2KMEn4yY8MdhuGoFuA== + dependencies: + lines-and-columns "^1.1.6" + tslib "^1.10.0" + yaml "^1.7.1" + +yaml@1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.8.3.tgz#2f420fca58b68ce3a332d0ca64be1d191dd3f87a" + integrity sha512-X/v7VDnK+sxbQ2Imq4Jt2PRUsRsP7UcpSl3Llg6+NRRqWLIvxkMFYtH1FmvwNGYRKKPa+EPA4qDBlI9WVG1UKw== + dependencies: + "@babel/runtime" "^7.8.7" + +yaml@^1.7.1, yaml@^1.7.2: + version "1.10.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + +yargs-parser@13.1.2, yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.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 "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" From c19e4bd8c69fd0f5d5ee60e821bcc90fca6a2343 Mon Sep 17 00:00:00 2001 From: leastbad Date: Wed, 28 Oct 2020 15:13:21 +0000 Subject: [PATCH 045/127] GitBook: [master] one page modified --- docs/deployment.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/deployment.md b/docs/deployment.md index c4cc7b3b..314d2114 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -135,7 +135,9 @@ Yes. We're excited to announce that StimulusReflex now works with [AnyCable](https://github.com/anycable/anycable), a library which allows you to use any WebSocket server \(written in any language\) as a replacement for your Ruby WebSocket server. You can read more about the dramatic scalability possible with AnyCable in [this post](https://evilmartians.com/chronicles/anycable-actioncable-on-steroids). -We'd love to hear your battle stories regarding the number of simultaneous connections you can achieve both with and without AnyCable. Anecdotal evidence suggests that you can realistically squeeze ~4000 connections with native ActionCable, whereas AnyCable should allow roughly 10,000 connections **per node**. Of course, the message delivery speed will dip as you start to approach the upper limit, so if you are working on a project successful enough to have this problem, you are advised to switch. +We'd love to hear your battle stories regarding the number of simultaneous connections you can achieve both with and without AnyCable. Anecdotal evidence suggests that you can realistically squeeze ~4000 connections with native ActionCable, whereas AnyCable should allow roughly 10,000 connections **per node**. We've even [seen reports](https://nebulab.it/blog/actioncable-vs-anycable-fight/) that ActionCable can benchmark at 20,000 connections, while AnyCable maxes out around 60,000 because it runs out of TCP ports to allocate. + +Of course, the message delivery speed - and even delivery _success_ rate - will dip as you start to approach the upper limit, so if you are working on a project successful enough to have this problem, you are advised to switch. Getting to this point required significant effort and cooperation between members of both projects. You can try out the AnyCable v1.0 release today. From 13567dd9b1757a45f872cbfecc517e1fd1d81247 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 28 Oct 2020 15:14:50 +0000 Subject: [PATCH 046/127] [nodoc] update changelog --- CHANGELOG.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a79e59c..a56faa2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,10 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre5...v3.3.0.pre6) +**Implemented enhancements:** + +- Support for token-based authentication [\#243](https://github.com/hopsoft/stimulus_reflex/pull/243) ([leastbad](https://github.com/leastbad)) + **Closed issues:** - Authorization [\#292](https://github.com/hopsoft/stimulus_reflex/issues/292) @@ -161,7 +165,6 @@ **Implemented enhancements:** - Returns more helpful error message if Reflex doesn't exist [\#254](https://github.com/hopsoft/stimulus_reflex/pull/254) ([leastbad](https://github.com/leastbad)) -- Support for token-based authentication [\#243](https://github.com/hopsoft/stimulus_reflex/pull/243) ([leastbad](https://github.com/leastbad)) - Update install.rake to handle Typescript [\#241](https://github.com/hopsoft/stimulus_reflex/pull/241) ([iv-mexx](https://github.com/iv-mexx)) - Morph Modes: page, selector and nothing [\#211](https://github.com/hopsoft/stimulus_reflex/pull/211) ([leastbad](https://github.com/leastbad)) @@ -216,7 +219,6 @@ **Merged pull requests:** - Fix typos in the documentation [\#228](https://github.com/hopsoft/stimulus_reflex/pull/228) ([dlt](https://github.com/dlt)) -- Always commit session [\#222](https://github.com/hopsoft/stimulus_reflex/pull/222) ([hopsoft](https://github.com/hopsoft)) ## [v3.2.2](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.2) (2020-06-06) @@ -235,6 +237,10 @@ - Session lost after throw :abort [\#221](https://github.com/hopsoft/stimulus_reflex/issues/221) - Fix multipleInstances convenience method [\#220](https://github.com/hopsoft/stimulus_reflex/pull/220) ([julianrubisch](https://github.com/julianrubisch)) +**Merged pull requests:** + +- Always commit session [\#222](https://github.com/hopsoft/stimulus_reflex/pull/222) ([hopsoft](https://github.com/hopsoft)) + ## [v3.2.2.pre0](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.2.pre0) (2020-05-27) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.2.1...v3.2.2.pre0) @@ -427,6 +433,10 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v2.2.3...v3.0.0) +**Breaking changes:** + +- Update ActionCable JS dep to @rails/actioncable [\#135](https://github.com/hopsoft/stimulus_reflex/pull/135) ([hopsoft](https://github.com/hopsoft)) + **Implemented enhancements:** - update install script to set session store [\#134](https://github.com/hopsoft/stimulus_reflex/pull/134) ([leastbad](https://github.com/leastbad)) @@ -474,10 +484,6 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v2.1.9...v2.2.0) -**Breaking changes:** - -- Update ActionCable JS dep to @rails/actioncable [\#135](https://github.com/hopsoft/stimulus_reflex/pull/135) ([hopsoft](https://github.com/hopsoft)) - **Implemented enhancements:** - Explicit and implicit registering of the ActionCable consumer [\#116](https://github.com/hopsoft/stimulus_reflex/pull/116) ([hopsoft](https://github.com/hopsoft)) @@ -510,6 +516,7 @@ **Implemented enhancements:** - Support devise authenticated routes [\#105](https://github.com/hopsoft/stimulus_reflex/pull/105) ([hopsoft](https://github.com/hopsoft)) +- inherit stimulus schema [\#92](https://github.com/hopsoft/stimulus_reflex/pull/92) ([nickyvanurk](https://github.com/nickyvanurk)) **Closed issues:** @@ -536,7 +543,6 @@ - Custom Stimulus schema breaks Reflex [\#91](https://github.com/hopsoft/stimulus_reflex/issues/91) - Add schema support [\#94](https://github.com/hopsoft/stimulus_reflex/pull/94) ([hopsoft](https://github.com/hopsoft)) -- inherit stimulus schema [\#92](https://github.com/hopsoft/stimulus_reflex/pull/92) ([nickyvanurk](https://github.com/nickyvanurk)) - Single source of truth [\#76](https://github.com/hopsoft/stimulus_reflex/pull/76) ([leastbad](https://github.com/leastbad)) **Fixed bugs:** From cba6f268cd0f1f56a3e0588a16a09fb3e074ed8c Mon Sep 17 00:00:00 2001 From: paramagicdev Date: Wed, 28 Oct 2020 11:16:27 -0400 Subject: [PATCH 047/127] fix: sync up package.jsons and fix test script --- javascript/package.json | 13 ++++++++----- javascript/yarn.lock | 23 ++++++++++++++--------- package.json | 13 ++++++++----- yarn.lock | 23 ++++++++++++++--------- 4 files changed, 44 insertions(+), 28 deletions(-) diff --git a/javascript/package.json b/javascript/package.json index ca4d85cd..1abcbcc4 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -37,16 +37,18 @@ "postinstall": "node ./scripts/post_install.js", "prettier-standard:check": "yarn run prettier-standard --check *.js **/*.js", "prettier-standard:format": "yarn run prettier-standard *.js **/*.js", - "test": "yarn run mocha --require @babel/register", - "build": "microbundle --target browser --format modern,es,cjs", - "dev": "microbundle watch --target browser --format modern,es,cjs" + "test": "yarn run mocha --require @babel/register --require esm", + "build": "microbundle --target browser --format modern,es,cjs --no-strict", + "dev": "microbundle watch --target browser --format modern,es,cjs --no-strict" }, - "dependencies": { + "peerDependencies": { "@rails/actioncable": ">= 6.0", "cable_ready": ">= 4.3.0", - "form-serialize": ">= 0.7.2", "stimulus": ">= 1.1" }, + "dependencies": { + "form-serialize": ">= 0.7.2" + }, "devDependencies": { "@babel/core": "^7.6.2", "@babel/preset-env": "^7.6.2", @@ -54,6 +56,7 @@ "@rails/actioncable": "^6.0.3-3", "assert": "^2.0.0", "cable_ready": "^4.4.0-pre0", + "esm": "^3.2.25", "jsdom": "^16.0.1", "microbundle": "^0.12.3", "mocha": "^8.0.1", diff --git a/javascript/yarn.lock b/javascript/yarn.lock index 19606b46..55361413 100644 --- a/javascript/yarn.lock +++ b/javascript/yarn.lock @@ -1007,10 +1007,10 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@rails/actioncable@>= 6.0": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3.tgz#722b4b639936129307ddbab3a390f6bcacf3e7bc" - integrity sha512-I01hgqxxnOgOtJTGlq0ZsGJYiTEEiSGVEGQn3vimZSqEP1HqzyFNbzGTq14Xdyeow2yGJjygjoFF1pmtE+SQaw== +"@rails/actioncable@^6.0.3-3": + version "6.0.3-4" + resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3-4.tgz#f17c0ef2235d1624d6052b749005608260bd55ef" + integrity sha512-uie5McTpl69vHnXCVzKj7iYpVKFfLuE7aqul/I7MX5zVd+yVyyC/g75T1Q10GofyqHYNYWgPiIxgQIoYPyyeKw== "@rollup/plugin-alias@^3.1.1": version "3.1.1" @@ -1539,10 +1539,10 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== -"cable_ready@>= 4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.3.0.tgz#69c6c6963a60d7891f43c7530e343007a00a50b3" - integrity sha512-/hjwgdwMoe2hE5KKunsuWXDTr26GzwR7CovdFKHdSHD/yZTFFIv/eY27slMiXUEb57X12GHdliSM59rftTKpoQ== +cable_ready@^4.4.0-pre0: + version "4.4.0-pre1" + resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.4.0-pre1.tgz#b9a262cefb539a9a87bd71da56835a7ba7d93653" + integrity sha512-V71BpFB9Q9KCHEWH3kzz3umaFpafMb7khr3TTZclO1xnepwPTiWgWEMqSv2afaQlPtqH6FEpr0UNK6dH4GwrSA== dependencies: morphdom "^2.6.1" @@ -2424,6 +2424,11 @@ eslint@^6.8.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + espree@^6.1.2: version "6.2.1" resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" @@ -5560,7 +5565,7 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= -"stimulus@>= 1.1": +stimulus@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stimulus/-/stimulus-1.1.1.tgz#53c2fded6849e7b85eed3ed8dd76e33abd74bec5" integrity sha512-R0mBqKp48YnRDZOxZ8hiOH4Ilph3Yj78CIFTBkCwyHs4iGCpe7xlEdQ7cjIxb+7qVCSxFKgxO+mAQbsNgt/5XQ== diff --git a/package.json b/package.json index 43fe8df3..cf3efdf0 100644 --- a/package.json +++ b/package.json @@ -37,16 +37,18 @@ "postinstall": "node javascript/scripts/post_install.js", "prettier-standard:check": "yarn run prettier-standard --check *.js **/*.js", "prettier-standard:format": "yarn run prettier-standard *.js **/*.js", - "test": "yarn run mocha --require @babel/register", - "build": "microbundle --target browser --format modern,es,cjs", - "dev": "microbundle watch --target browser --format modern,es,cjs" + "test": "yarn run mocha --require @babel/register --require esm ./javascript/test", + "build": "microbundle --target browser --format modern,es,cjs --no-strict", + "dev": "microbundle watch --target browser --format modern,es,cjs --no-strict" }, - "dependencies": { + "peerDependencies": { "@rails/actioncable": ">= 6.0", "cable_ready": ">= 4.3.0", - "form-serialize": ">= 0.7.2", "stimulus": ">= 1.1" }, + "dependencies": { + "form-serialize": ">= 0.7.2" + }, "devDependencies": { "@babel/core": "^7.6.2", "@babel/preset-env": "^7.6.2", @@ -54,6 +56,7 @@ "@rails/actioncable": "^6.0.3-3", "assert": "^2.0.0", "cable_ready": "^4.4.0-pre0", + "esm": "^3.2.25", "jsdom": "^16.0.1", "microbundle": "^0.12.3", "mocha": "^8.0.1", diff --git a/yarn.lock b/yarn.lock index 65b7809b..cecc3ac7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1023,10 +1023,10 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@rails/actioncable@>= 6.0": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3.tgz#722b4b639936129307ddbab3a390f6bcacf3e7bc" - integrity sha512-I01hgqxxnOgOtJTGlq0ZsGJYiTEEiSGVEGQn3vimZSqEP1HqzyFNbzGTq14Xdyeow2yGJjygjoFF1pmtE+SQaw== +"@rails/actioncable@^6.0.3-3": + version "6.0.3-4" + resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-6.0.3-4.tgz#f17c0ef2235d1624d6052b749005608260bd55ef" + integrity sha512-uie5McTpl69vHnXCVzKj7iYpVKFfLuE7aqul/I7MX5zVd+yVyyC/g75T1Q10GofyqHYNYWgPiIxgQIoYPyyeKw== "@rollup/plugin-alias@^3.1.1": version "3.1.1" @@ -1534,10 +1534,10 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== -"cable_ready@>= 4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.3.0.tgz#69c6c6963a60d7891f43c7530e343007a00a50b3" - integrity sha512-/hjwgdwMoe2hE5KKunsuWXDTr26GzwR7CovdFKHdSHD/yZTFFIv/eY27slMiXUEb57X12GHdliSM59rftTKpoQ== +cable_ready@^4.4.0-pre0: + version "4.4.0-pre1" + resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.4.0-pre1.tgz#b9a262cefb539a9a87bd71da56835a7ba7d93653" + integrity sha512-V71BpFB9Q9KCHEWH3kzz3umaFpafMb7khr3TTZclO1xnepwPTiWgWEMqSv2afaQlPtqH6FEpr0UNK6dH4GwrSA== dependencies: morphdom "^2.6.1" @@ -2414,6 +2414,11 @@ eslint@^6.8.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +esm@^3.2.25: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + espree@^6.1.2: version "6.2.1" resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" @@ -5490,7 +5495,7 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= -"stimulus@>= 1.1": +stimulus@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stimulus/-/stimulus-1.1.1.tgz#53c2fded6849e7b85eed3ed8dd76e33abd74bec5" integrity sha512-R0mBqKp48YnRDZOxZ8hiOH4Ilph3Yj78CIFTBkCwyHs4iGCpe7xlEdQ7cjIxb+7qVCSxFKgxO+mAQbsNgt/5XQ== From 5b253bec3f807bdc190c8402a9956442f375225d Mon Sep 17 00:00:00 2001 From: paramagicdev Date: Wed, 28 Oct 2020 11:24:53 -0400 Subject: [PATCH 048/127] chore: add prettierignore for bundled files --- .prettierignore | 1 + javascript/.prettierignore | 1 + 2 files changed, 2 insertions(+) create mode 100644 .prettierignore create mode 100644 javascript/.prettierignore diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..df4fdf7a --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +javascript/dist diff --git a/javascript/.prettierignore b/javascript/.prettierignore new file mode 100644 index 00000000..1521c8b7 --- /dev/null +++ b/javascript/.prettierignore @@ -0,0 +1 @@ +dist From 73264fadf511a185cb536e49f1c8afb44e5790a8 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 28 Oct 2020 15:27:45 +0000 Subject: [PATCH 049/127] [nodoc] update changelog --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a56faa2b..b8126951 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ **Merged pull requests:** +- feat: create a more robust package.json [\#340](https://github.com/hopsoft/stimulus_reflex/pull/340) ([ParamagicDev](https://github.com/ParamagicDev)) - Aliases method\_name to action\_name [\#338](https://github.com/hopsoft/stimulus_reflex/pull/338) ([obie](https://github.com/obie)) - add signed/unsigned accessors to element [\#330](https://github.com/hopsoft/stimulus_reflex/pull/330) ([joshleblanc](https://github.com/joshleblanc)) - merge environment into ApplicationController and descendants [\#328](https://github.com/hopsoft/stimulus_reflex/pull/328) ([leastbad](https://github.com/leastbad)) @@ -314,7 +315,6 @@ - Replace camelize with homegrown version [\#184](https://github.com/hopsoft/stimulus_reflex/pull/184) ([jonathan-s](https://github.com/jonathan-s)) - Replace uuid4 dependency with function in repo [\#181](https://github.com/hopsoft/stimulus_reflex/pull/181) ([jonathan-s](https://github.com/jonathan-s)) - Allow channel exceptions to be rescuable [\#180](https://github.com/hopsoft/stimulus_reflex/pull/180) ([dark-panda](https://github.com/dark-panda)) -- add console log messages for every reflex call [\#163](https://github.com/hopsoft/stimulus_reflex/pull/163) ([marcoroth](https://github.com/marcoroth)) - add reflex callbacks [\#160](https://github.com/hopsoft/stimulus_reflex/pull/160) ([websebdev](https://github.com/websebdev)) **Fixed bugs:** @@ -410,6 +410,7 @@ **Implemented enhancements:** +- add console log messages for every reflex call [\#163](https://github.com/hopsoft/stimulus_reflex/pull/163) ([marcoroth](https://github.com/marcoroth)) - Check the ActionCable connection on stimuluate [\#148](https://github.com/hopsoft/stimulus_reflex/pull/148) ([hopsoft](https://github.com/hopsoft)) - Attach element.tagName to extracted attributes [\#146](https://github.com/hopsoft/stimulus_reflex/pull/146) ([julianrubisch](https://github.com/julianrubisch)) - Create dynamic changelog [\#143](https://github.com/hopsoft/stimulus_reflex/pull/143) ([andrewmcodes](https://github.com/andrewmcodes)) @@ -516,7 +517,6 @@ **Implemented enhancements:** - Support devise authenticated routes [\#105](https://github.com/hopsoft/stimulus_reflex/pull/105) ([hopsoft](https://github.com/hopsoft)) -- inherit stimulus schema [\#92](https://github.com/hopsoft/stimulus_reflex/pull/92) ([nickyvanurk](https://github.com/nickyvanurk)) **Closed issues:** @@ -543,6 +543,7 @@ - Custom Stimulus schema breaks Reflex [\#91](https://github.com/hopsoft/stimulus_reflex/issues/91) - Add schema support [\#94](https://github.com/hopsoft/stimulus_reflex/pull/94) ([hopsoft](https://github.com/hopsoft)) +- inherit stimulus schema [\#92](https://github.com/hopsoft/stimulus_reflex/pull/92) ([nickyvanurk](https://github.com/nickyvanurk)) - Single source of truth [\#76](https://github.com/hopsoft/stimulus_reflex/pull/76) ([leastbad](https://github.com/leastbad)) **Fixed bugs:** From b3a14ec401dfd28b277c080391ff1fd8b24783a9 Mon Sep 17 00:00:00 2001 From: leastbad Date: Wed, 28 Oct 2020 16:40:55 +0000 Subject: [PATCH 050/127] GitBook: [master] one page modified --- docs/setup.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/docs/setup.md b/docs/setup.md index e82b63c6..3d61e121 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -168,7 +168,18 @@ gem "stimulus_reflex", github: "hopsoft/stimulus_reflex" ``` {% endcode %} -Don't forget to run `bundle install && yarn install --check-files` and restart your server after you change your configuration. +Once you have updated your `Gemfile` and `package.json` you need to run the following commands from the root folder of your project: + +```bash +bundle install +yarn install --check-files +cd node_modules/stimulus_reflex/javascript +yarn install +yarn run build +cd ../../.. +``` + +Finally, restart your server\(s\) and refresh your page to see the latest. {% hint style="success" %} It is really important to **always make sure that your Ruby and Javascript package versions are the same**! @@ -194,5 +205,16 @@ gem "stimulus_reflex", github: "leastbad/stimulus_reflex", branch: "isolation_op ``` {% endcode %} -Now that we know the details, we end up with the above changes. Don't forget to run `bundle install && yarn install --check-files` and restart your server. +Once you have updated your `Gemfile` and `package.json` you need to run the following commands from the root folder of your project: + +```bash +bundle install +yarn install --check-files +cd node_modules/stimulus_reflex/javascript +yarn install +yarn run build +cd ../../.. +``` + +Finally, restart your server\(s\) and refresh your page to see the latest. From b93aba1032428203c2e43cd00aff03e9158fb06b Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 28 Oct 2020 16:42:15 +0000 Subject: [PATCH 051/127] [nodoc] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8126951..6cf10966 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -315,6 +315,7 @@ - Replace camelize with homegrown version [\#184](https://github.com/hopsoft/stimulus_reflex/pull/184) ([jonathan-s](https://github.com/jonathan-s)) - Replace uuid4 dependency with function in repo [\#181](https://github.com/hopsoft/stimulus_reflex/pull/181) ([jonathan-s](https://github.com/jonathan-s)) - Allow channel exceptions to be rescuable [\#180](https://github.com/hopsoft/stimulus_reflex/pull/180) ([dark-panda](https://github.com/dark-panda)) +- add console log messages for every reflex call [\#163](https://github.com/hopsoft/stimulus_reflex/pull/163) ([marcoroth](https://github.com/marcoroth)) - add reflex callbacks [\#160](https://github.com/hopsoft/stimulus_reflex/pull/160) ([websebdev](https://github.com/websebdev)) **Fixed bugs:** @@ -410,7 +411,6 @@ **Implemented enhancements:** -- add console log messages for every reflex call [\#163](https://github.com/hopsoft/stimulus_reflex/pull/163) ([marcoroth](https://github.com/marcoroth)) - Check the ActionCable connection on stimuluate [\#148](https://github.com/hopsoft/stimulus_reflex/pull/148) ([hopsoft](https://github.com/hopsoft)) - Attach element.tagName to extracted attributes [\#146](https://github.com/hopsoft/stimulus_reflex/pull/146) ([julianrubisch](https://github.com/julianrubisch)) - Create dynamic changelog [\#143](https://github.com/hopsoft/stimulus_reflex/pull/143) ([andrewmcodes](https://github.com/andrewmcodes)) From 0ea3d993dd7a32045c926ef18bbfe05069918f4b Mon Sep 17 00:00:00 2001 From: Roland Studer Date: Wed, 28 Oct 2020 17:38:38 +0100 Subject: [PATCH 052/127] move generators and templates in paths that are autoloaded --- lib/generators/{ => stimulus_reflex}/config_generator.rb | 0 .../{ => stimulus_reflex}/stimulus_reflex_generator.rb | 0 .../app/javascript/controllers/%file_name%_controller.js.tt | 0 .../app/javascript/controllers/application_controller.js.tt | 0 .../templates/app/reflexes/%file_name%_reflex.rb.tt | 0 .../templates/app/reflexes/application_reflex.rb.tt | 0 .../templates/config/initializers/stimulus_reflex.rb | 0 lib/stimulus_reflex.rb | 2 -- test/generators/stimulus_reflex_generator_test.rb | 1 + 9 files changed, 1 insertion(+), 2 deletions(-) rename lib/generators/{ => stimulus_reflex}/config_generator.rb (100%) rename lib/generators/{ => stimulus_reflex}/stimulus_reflex_generator.rb (100%) rename lib/generators/{ => stimulus_reflex}/templates/app/javascript/controllers/%file_name%_controller.js.tt (100%) rename lib/generators/{ => stimulus_reflex}/templates/app/javascript/controllers/application_controller.js.tt (100%) rename lib/generators/{ => stimulus_reflex}/templates/app/reflexes/%file_name%_reflex.rb.tt (100%) rename lib/generators/{ => stimulus_reflex}/templates/app/reflexes/application_reflex.rb.tt (100%) rename lib/generators/{ => stimulus_reflex}/templates/config/initializers/stimulus_reflex.rb (100%) diff --git a/lib/generators/config_generator.rb b/lib/generators/stimulus_reflex/config_generator.rb similarity index 100% rename from lib/generators/config_generator.rb rename to lib/generators/stimulus_reflex/config_generator.rb diff --git a/lib/generators/stimulus_reflex_generator.rb b/lib/generators/stimulus_reflex/stimulus_reflex_generator.rb similarity index 100% rename from lib/generators/stimulus_reflex_generator.rb rename to lib/generators/stimulus_reflex/stimulus_reflex_generator.rb diff --git a/lib/generators/templates/app/javascript/controllers/%file_name%_controller.js.tt b/lib/generators/stimulus_reflex/templates/app/javascript/controllers/%file_name%_controller.js.tt similarity index 100% rename from lib/generators/templates/app/javascript/controllers/%file_name%_controller.js.tt rename to lib/generators/stimulus_reflex/templates/app/javascript/controllers/%file_name%_controller.js.tt diff --git a/lib/generators/templates/app/javascript/controllers/application_controller.js.tt b/lib/generators/stimulus_reflex/templates/app/javascript/controllers/application_controller.js.tt similarity index 100% rename from lib/generators/templates/app/javascript/controllers/application_controller.js.tt rename to lib/generators/stimulus_reflex/templates/app/javascript/controllers/application_controller.js.tt diff --git a/lib/generators/templates/app/reflexes/%file_name%_reflex.rb.tt b/lib/generators/stimulus_reflex/templates/app/reflexes/%file_name%_reflex.rb.tt similarity index 100% rename from lib/generators/templates/app/reflexes/%file_name%_reflex.rb.tt rename to lib/generators/stimulus_reflex/templates/app/reflexes/%file_name%_reflex.rb.tt diff --git a/lib/generators/templates/app/reflexes/application_reflex.rb.tt b/lib/generators/stimulus_reflex/templates/app/reflexes/application_reflex.rb.tt similarity index 100% rename from lib/generators/templates/app/reflexes/application_reflex.rb.tt rename to lib/generators/stimulus_reflex/templates/app/reflexes/application_reflex.rb.tt diff --git a/lib/generators/templates/config/initializers/stimulus_reflex.rb b/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb similarity index 100% rename from lib/generators/templates/config/initializers/stimulus_reflex.rb rename to lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb diff --git a/lib/stimulus_reflex.rb b/lib/stimulus_reflex.rb index 228d2a11..b2740031 100644 --- a/lib/stimulus_reflex.rb +++ b/lib/stimulus_reflex.rb @@ -18,8 +18,6 @@ require "stimulus_reflex/broadcasters/nothing_broadcaster" require "stimulus_reflex/broadcasters/page_broadcaster" require "stimulus_reflex/broadcasters/selector_broadcaster" -require "generators/stimulus_reflex_generator" -require "generators/config_generator" module StimulusReflex class Engine < Rails::Engine diff --git a/test/generators/stimulus_reflex_generator_test.rb b/test/generators/stimulus_reflex_generator_test.rb index e1ebc7ef..04ddc759 100644 --- a/test/generators/stimulus_reflex_generator_test.rb +++ b/test/generators/stimulus_reflex_generator_test.rb @@ -2,6 +2,7 @@ require "rails/generators/test_case" require_relative "../test_helper" +require "./lib/generators/stimulus_reflex/stimulus_reflex_generator" class StimulusReflexGeneratorTest < Rails::Generators::TestCase tests StimulusReflexGenerator From 6e895fccd99023d29ccc695e800ba26e334a0b71 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 29 Oct 2020 11:20:28 +0000 Subject: [PATCH 053/127] [nodoc] update changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cf10966..05ccf57e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ **Merged pull requests:** - feat: create a more robust package.json [\#340](https://github.com/hopsoft/stimulus_reflex/pull/340) ([ParamagicDev](https://github.com/ParamagicDev)) +- Make StimulusReflex configurable and add an initializer [\#339](https://github.com/hopsoft/stimulus_reflex/pull/339) ([RolandStuder](https://github.com/RolandStuder)) - Aliases method\_name to action\_name [\#338](https://github.com/hopsoft/stimulus_reflex/pull/338) ([obie](https://github.com/obie)) - add signed/unsigned accessors to element [\#330](https://github.com/hopsoft/stimulus_reflex/pull/330) ([joshleblanc](https://github.com/joshleblanc)) - merge environment into ApplicationController and descendants [\#328](https://github.com/hopsoft/stimulus_reflex/pull/328) ([leastbad](https://github.com/leastbad)) @@ -200,7 +201,6 @@ - Revert "Add instructions for pulling the user id out of session storage" [\#239](https://github.com/hopsoft/stimulus_reflex/pull/239) ([leastbad](https://github.com/leastbad)) - Add instructions for pulling the user id out of session storage [\#238](https://github.com/hopsoft/stimulus_reflex/pull/238) ([mtomov](https://github.com/mtomov)) - adds params documentation [\#230](https://github.com/hopsoft/stimulus_reflex/pull/230) ([RolandStuder](https://github.com/RolandStuder)) -- Fix calling wrong controller lifecycle methods [\#226](https://github.com/hopsoft/stimulus_reflex/pull/226) ([davidalejandroaguilar](https://github.com/davidalejandroaguilar)) - Allow to pass reflex action names to reflex generator [\#224](https://github.com/hopsoft/stimulus_reflex/pull/224) ([marcoroth](https://github.com/marcoroth)) ## [v3.2.3](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.3) (2020-06-15) @@ -240,6 +240,7 @@ **Merged pull requests:** +- Fix calling wrong controller lifecycle methods [\#226](https://github.com/hopsoft/stimulus_reflex/pull/226) ([davidalejandroaguilar](https://github.com/davidalejandroaguilar)) - Always commit session [\#222](https://github.com/hopsoft/stimulus_reflex/pull/222) ([hopsoft](https://github.com/hopsoft)) ## [v3.2.2.pre0](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.2.pre0) (2020-05-27) From d391e74cb9089b1741688dbe799d85e6df61ecfa Mon Sep 17 00:00:00 2001 From: Roland Studer Date: Tue, 29 Sep 2020 18:37:37 +0200 Subject: [PATCH 054/127] exit on failed sanity check, provide config to skip exit --- lib/stimulus_reflex/sanity_checker.rb | 46 ++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/lib/stimulus_reflex/sanity_checker.rb b/lib/stimulus_reflex/sanity_checker.rb index b1e1b86a..77e9f0e8 100644 --- a/lib/stimulus_reflex/sanity_checker.rb +++ b/lib/stimulus_reflex/sanity_checker.rb @@ -12,25 +12,32 @@ def self.check! def check_caching_enabled unless caching_enabled? - puts <<~WARN - WARNING: Stimulus Reflex requires caching to be enabled. Caching allows the session to be modified during ActionCable requests. + warn_and_exit <<~WARN + Stimulus Reflex requires caching to be enabled. Caching allows the session to be modified during ActionCable requests. To enable caching in development, run: rails dev:cache WARN end + + unless not_null_store? + warn_and_exit <<~WARN + Stimulus Reflex requires caching to be enabled. Caching allows the session to be modified during ActionCable requests. + But your config.cache_store is set to :null_store, so it won't work. + WARN + end end def check_javascript_package_version if javascript_package_version.nil? - puts <<~WARN - WARNING: Can't locate the stimulus_reflex NPM package. + warn_and_exit <<~WARN + Can't locate the stimulus_reflex NPM package. Either add it to your package.json as a dependency or use "yarn link stimulus_reflex" if you are doing development. WARN end unless javascript_version_matches? - puts <<~WARN - WARNING: The Stimulus Reflex javascript package version (#{javascript_package_version}) does not match the Rubygem version (#{gem_version}). + warn_and_exit <<~WARN + The Stimulus Reflex javascript package version (#{javascript_package_version}) does not match the Rubygem version (#{gem_version}). To update the Stimulus Reflex npm package: yarn upgrade stimulus_reflex@#{gem_version} WARN @@ -40,8 +47,11 @@ def check_javascript_package_version private def caching_enabled? - Rails.application.config.action_controller.perform_caching && - Rails.application.config.cache_store != :null_store + Rails.application.config.action_controller.perform_caching + end + + def not_null_store? + Rails.application.config.cache_store != :null_store end def javascript_version_matches? @@ -77,4 +87,24 @@ def yarn_lock_path def yarn_link_path Rails.root.join("node_modules", "stimulus_reflex", "package.json") end + + def warn_and_exit(text) + puts "WARNING:" + puts text + exit_with_info if exit_for_failed_sanity_checks? + end + + def exit_with_info + puts + puts <<~INFO + If you want know what you are doing and you want to start the application anyway, set the following config + config.x.stimulus_reflex.exit_for_failed_sanity_checks = false + INFO + exit + end + + def exit_for_failed_sanity_checks? + exit_config = Rails.application.config.x.stimulus_reflex.exit_for_failed_sanity_checks + exit_config.nil? ? true : exit_config # defaults to true + end end From a6914c3c192b80302818e935413b868ae8991d1a Mon Sep 17 00:00:00 2001 From: Roland Studer Date: Tue, 6 Oct 2020 22:28:34 +0200 Subject: [PATCH 055/127] always get the javascript package version from package.json The yarn.lock file does not always point to a specific version, it can contain something like `^3.3` this will then fail to match, so it is better to always look at the package.json in the node_modules folder, this works for normally installed packages as well as for `yarn link` --- lib/stimulus_reflex/sanity_checker.rb | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/lib/stimulus_reflex/sanity_checker.rb b/lib/stimulus_reflex/sanity_checker.rb index 77e9f0e8..9da7d60c 100644 --- a/lib/stimulus_reflex/sanity_checker.rb +++ b/lib/stimulus_reflex/sanity_checker.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true class StimulusReflex::SanityChecker - NODE_VERSION_FORMAT = /(\d+\.\d+\.\d+.*):/ JSON_VERSION_FORMAT = /(\d+\.\d+\.\d+.*)"/ def self.check! @@ -63,14 +62,11 @@ def gem_version end def javascript_package_version - return @_js_version if defined?(@_js_version) - @_js_version = find_javascript_package_version + @_js_version ||= find_javascript_package_version end def find_javascript_package_version - if (match = search_file(yarn_lock_path, regex: /^stimulus_reflex/)) - match[NODE_VERSION_FORMAT, 1] - elsif (match = search_file(yarn_link_path, regex: /version/)) + if (match = search_file(package_json_path, regex: /version/)) match[JSON_VERSION_FORMAT, 1] end end @@ -80,11 +76,7 @@ def search_file(path, regex:) File.foreach(path).grep(regex).first end - def yarn_lock_path - Rails.root.join("yarn.lock") - end - - def yarn_link_path + def package_json_path Rails.root.join("node_modules", "stimulus_reflex", "package.json") end From 1aabba358df1a4a888c54dc1b885266796785d67 Mon Sep 17 00:00:00 2001 From: Roland Studer Date: Thu, 29 Oct 2020 16:20:09 +0100 Subject: [PATCH 056/127] Use StimulusReflex.config to disable exit on failed sanity checks. --- .../templates/config/initializers/stimulus_reflex.rb | 6 +++--- lib/stimulus_reflex/configuration.rb | 4 ++-- lib/stimulus_reflex/sanity_checker.rb | 12 ++++-------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb b/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb index 7809018b..84d9c840 100644 --- a/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb +++ b/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true StimulusReflex.configure do |config| - # configuration options explained here: - # Short description of what the config variable does, best with the available options. - # config.example = true + # Enable/disable whether startup should be aborted + # when the sanity checks fail. + config.exit_on_failed_sanity_checks = true end diff --git a/lib/stimulus_reflex/configuration.rb b/lib/stimulus_reflex/configuration.rb index 05113e97..a4c21e61 100644 --- a/lib/stimulus_reflex/configuration.rb +++ b/lib/stimulus_reflex/configuration.rb @@ -14,10 +14,10 @@ def configuration end class Configuration - attr_accessor :example # put your attr_accessors here, like `attr_accessor: debug`, remove this line when you do. + attr_accessor :exit_on_failed_sanity_checks def initialize - @example = true # put your defaults here like `@debug = true, remove this line when you do. + @exit_on_failed_sanity_checks = true end end end diff --git a/lib/stimulus_reflex/sanity_checker.rb b/lib/stimulus_reflex/sanity_checker.rb index 9da7d60c..014ad85a 100644 --- a/lib/stimulus_reflex/sanity_checker.rb +++ b/lib/stimulus_reflex/sanity_checker.rb @@ -83,20 +83,16 @@ def package_json_path def warn_and_exit(text) puts "WARNING:" puts text - exit_with_info if exit_for_failed_sanity_checks? + exit_with_info if StimulusReflex.config.exit_on_failed_sanity_checks end def exit_with_info puts puts <<~INFO - If you want know what you are doing and you want to start the application anyway, set the following config - config.x.stimulus_reflex.exit_for_failed_sanity_checks = false + If you want know what you are doing and you want to start the application anyway, + you can do by putting the following configuration in an initializer: + StimulusReflex.config.exit_on_failed_sanity_checks = false INFO exit end - - def exit_for_failed_sanity_checks? - exit_config = Rails.application.config.x.stimulus_reflex.exit_for_failed_sanity_checks - exit_config.nil? ? true : exit_config # defaults to true - end end From b97a0e040e8d414158fa389c28ca5011a3723cfa Mon Sep 17 00:00:00 2001 From: Alessandro Rodi Date: Fri, 30 Oct 2020 15:46:56 +0100 Subject: [PATCH 057/127] Use Webpacker folder if available --- lib/tasks/stimulus_reflex/install.rake | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/tasks/stimulus_reflex/install.rake b/lib/tasks/stimulus_reflex/install.rake index 8a6c549e..17ed400a 100644 --- a/lib/tasks/stimulus_reflex/install.rake +++ b/lib/tasks/stimulus_reflex/install.rake @@ -9,15 +9,16 @@ namespace :stimulus_reflex do system "bundle exec rails webpacker:install:stimulus" gem_version = StimulusReflex::VERSION.gsub(".pre", "-pre") system "yarn add cable_ready stimulus_reflex@#{gem_version}" + main_folder = defined?(Webpacker) ? Webpacker.config.source_path.to_s.gsub(Rails.root.to_s, "") : "app/javascript" - FileUtils.mkdir_p Rails.root.join("app/javascript/controllers"), verbose: true + FileUtils.mkdir_p Rails.root.join("#{main_folder}/controllers"), verbose: true FileUtils.mkdir_p Rails.root.join("app/reflexes"), verbose: true - filepath = %w[ - app/javascript/controllers/index.js - app/javascript/controllers/index.ts - app/javascript/packs/application.js - app/javascript/packs/application.ts + filepath = [ + "#{main_folder}/controllers/index.js", + "#{main_folder}/controllers/index.ts", + "#{main_folder}/packs/application.js", + "#{main_folder}/packs/application.ts" ] .select { |path| File.exist?(path) } .map { |path| Rails.root.join(path) } From 3b4413ca3e8473dd817fc49ebaca7ae78d737e4a Mon Sep 17 00:00:00 2001 From: Alessandro Rodi Date: Fri, 30 Oct 2020 15:55:21 +0100 Subject: [PATCH 058/127] fix --- lib/tasks/stimulus_reflex/install.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/stimulus_reflex/install.rake b/lib/tasks/stimulus_reflex/install.rake index 17ed400a..43bab931 100644 --- a/lib/tasks/stimulus_reflex/install.rake +++ b/lib/tasks/stimulus_reflex/install.rake @@ -9,7 +9,7 @@ namespace :stimulus_reflex do system "bundle exec rails webpacker:install:stimulus" gem_version = StimulusReflex::VERSION.gsub(".pre", "-pre") system "yarn add cable_ready stimulus_reflex@#{gem_version}" - main_folder = defined?(Webpacker) ? Webpacker.config.source_path.to_s.gsub(Rails.root.to_s, "") : "app/javascript" + main_folder = defined?(Webpacker) ? Webpacker.config.source_path.to_s.gsub("#{Rails.root}/", "") : "app/javascript" FileUtils.mkdir_p Rails.root.join("#{main_folder}/controllers"), verbose: true FileUtils.mkdir_p Rails.root.join("app/reflexes"), verbose: true From 78bdad377ec973a64073a9e62e1f8bbc6d1b2219 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 30 Oct 2020 15:05:32 +0000 Subject: [PATCH 059/127] [nodoc] update changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05ccf57e..f59fb0bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ **Merged pull requests:** +- Use Webpacker folder if available [\#343](https://github.com/hopsoft/stimulus_reflex/pull/343) ([coorasse](https://github.com/coorasse)) - feat: create a more robust package.json [\#340](https://github.com/hopsoft/stimulus_reflex/pull/340) ([ParamagicDev](https://github.com/ParamagicDev)) - Make StimulusReflex configurable and add an initializer [\#339](https://github.com/hopsoft/stimulus_reflex/pull/339) ([RolandStuder](https://github.com/RolandStuder)) - Aliases method\_name to action\_name [\#338](https://github.com/hopsoft/stimulus_reflex/pull/338) ([obie](https://github.com/obie)) @@ -201,6 +202,7 @@ - Revert "Add instructions for pulling the user id out of session storage" [\#239](https://github.com/hopsoft/stimulus_reflex/pull/239) ([leastbad](https://github.com/leastbad)) - Add instructions for pulling the user id out of session storage [\#238](https://github.com/hopsoft/stimulus_reflex/pull/238) ([mtomov](https://github.com/mtomov)) - adds params documentation [\#230](https://github.com/hopsoft/stimulus_reflex/pull/230) ([RolandStuder](https://github.com/RolandStuder)) +- Fix calling wrong controller lifecycle methods [\#226](https://github.com/hopsoft/stimulus_reflex/pull/226) ([davidalejandroaguilar](https://github.com/davidalejandroaguilar)) - Allow to pass reflex action names to reflex generator [\#224](https://github.com/hopsoft/stimulus_reflex/pull/224) ([marcoroth](https://github.com/marcoroth)) ## [v3.2.3](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.3) (2020-06-15) @@ -240,7 +242,6 @@ **Merged pull requests:** -- Fix calling wrong controller lifecycle methods [\#226](https://github.com/hopsoft/stimulus_reflex/pull/226) ([davidalejandroaguilar](https://github.com/davidalejandroaguilar)) - Always commit session [\#222](https://github.com/hopsoft/stimulus_reflex/pull/222) ([hopsoft](https://github.com/hopsoft)) ## [v3.2.2.pre0](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.2.pre0) (2020-05-27) From a3f27a8807dffba0cfc5602aa546321da6935b28 Mon Sep 17 00:00:00 2001 From: leastbad Date: Fri, 30 Oct 2020 16:10:37 -0400 Subject: [PATCH 060/127] remove url_params method --- lib/stimulus_reflex/broadcasters/page_broadcaster.rb | 2 +- lib/stimulus_reflex/reflex.rb | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/stimulus_reflex/broadcasters/page_broadcaster.rb b/lib/stimulus_reflex/broadcasters/page_broadcaster.rb index c0728922..ae3e2b6f 100644 --- a/lib/stimulus_reflex/broadcasters/page_broadcaster.rb +++ b/lib/stimulus_reflex/broadcasters/page_broadcaster.rb @@ -3,7 +3,7 @@ module StimulusReflex class PageBroadcaster < Broadcaster def broadcast(selectors, data) - reflex.controller.process reflex.url_params[:action] + reflex.controller.process reflex.params[:action] page_html = reflex.controller.response.body return unless page_html.present? diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index 1180c94d..f1cd3ba4 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -114,10 +114,6 @@ def controller end end - def url_params - @url_params ||= Rails.application.routes.recognize_path_with_request(request, request.path, request.env[:extras] || {}) - end - def process(name, *args) reflex_invoked = false result = run_callbacks(:process) { From f2182d9de0e0fd573711bf974b6b24f57ebced4c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 30 Oct 2020 20:19:49 +0000 Subject: [PATCH 061/127] [nodoc] update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f59fb0bd..ca487fd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,12 +15,14 @@ **Closed issues:** +- ActionController::RoutingError with Rails 6 Engines [\#342](https://github.com/hopsoft/stimulus_reflex/issues/342) - Stimulus' controllers are not reconnecting after reflex, why? [\#314](https://github.com/hopsoft/stimulus_reflex/issues/314) - Rendering issue [\#289](https://github.com/hopsoft/stimulus_reflex/issues/289) - Documentation Request for a Rails 6.x app with 5.2 defaults [\#265](https://github.com/hopsoft/stimulus_reflex/issues/265) **Merged pull requests:** +- Fix page morphs inside Rails engines [\#344](https://github.com/hopsoft/stimulus_reflex/pull/344) ([leastbad](https://github.com/leastbad)) - Use Webpacker folder if available [\#343](https://github.com/hopsoft/stimulus_reflex/pull/343) ([coorasse](https://github.com/coorasse)) - feat: create a more robust package.json [\#340](https://github.com/hopsoft/stimulus_reflex/pull/340) ([ParamagicDev](https://github.com/ParamagicDev)) - Make StimulusReflex configurable and add an initializer [\#339](https://github.com/hopsoft/stimulus_reflex/pull/339) ([RolandStuder](https://github.com/RolandStuder)) From 8e5737728dac01965da4804e2ecb43d3df9888e3 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 31 Oct 2020 10:50:45 +0000 Subject: [PATCH 062/127] [nodoc] update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca487fd8..a892cb2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ **Closed issues:** - ActionController::RoutingError with Rails 6 Engines [\#342](https://github.com/hopsoft/stimulus_reflex/issues/342) +- Wrong input name parsing [\#321](https://github.com/hopsoft/stimulus_reflex/issues/321) - Stimulus' controllers are not reconnecting after reflex, why? [\#314](https://github.com/hopsoft/stimulus_reflex/issues/314) - Rendering issue [\#289](https://github.com/hopsoft/stimulus_reflex/issues/289) - Documentation Request for a Rails 6.x app with 5.2 defaults [\#265](https://github.com/hopsoft/stimulus_reflex/issues/265) @@ -29,6 +30,7 @@ - Aliases method\_name to action\_name [\#338](https://github.com/hopsoft/stimulus_reflex/pull/338) ([obie](https://github.com/obie)) - add signed/unsigned accessors to element [\#330](https://github.com/hopsoft/stimulus_reflex/pull/330) ([joshleblanc](https://github.com/joshleblanc)) - merge environment into ApplicationController and descendants [\#328](https://github.com/hopsoft/stimulus_reflex/pull/328) ([leastbad](https://github.com/leastbad)) +- Move form-data merge logic to the server-side [\#327](https://github.com/hopsoft/stimulus_reflex/pull/327) ([marcoroth](https://github.com/marcoroth)) - fix for PR\#317 which was preventing server messages [\#326](https://github.com/hopsoft/stimulus_reflex/pull/326) ([leastbad](https://github.com/leastbad)) - introduce tab isolation mode [\#324](https://github.com/hopsoft/stimulus_reflex/pull/324) ([leastbad](https://github.com/leastbad)) - Append short section about resetting a form [\#319](https://github.com/hopsoft/stimulus_reflex/pull/319) ([julianrubisch](https://github.com/julianrubisch)) From eed2363248b71633f3235397019f8eb2de08f254 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 31 Oct 2020 10:58:04 +0000 Subject: [PATCH 063/127] [nodoc] update changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a892cb2e..acb73bcb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,14 @@ **Implemented enhancements:** +- tab isolation mode v2 [\#335](https://github.com/hopsoft/stimulus_reflex/pull/335) ([leastbad](https://github.com/leastbad)) - Delegate flash to the request [\#334](https://github.com/hopsoft/stimulus_reflex/pull/334) ([hopsoft](https://github.com/hopsoft)) - Opt-in form serialization & params overriding [\#325](https://github.com/hopsoft/stimulus_reflex/pull/325) ([s-s](https://github.com/s-s)) +**Fixed bugs:** + +- Console exception when reflex updates a page that didn't trigger the update [\#336](https://github.com/hopsoft/stimulus_reflex/issues/336) + **Closed issues:** - ActionController::RoutingError with Rails 6 Engines [\#342](https://github.com/hopsoft/stimulus_reflex/issues/342) From 8ea71f9f2c4e90e499c2e20ab37954e525e10406 Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Sat, 31 Oct 2020 07:09:36 -0400 Subject: [PATCH 064/127] @url_params accessor is no longer used --- lib/stimulus_reflex/reflex.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index 910f267c..bc2e843e 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -43,7 +43,7 @@ def normalize_callback_option!(options, from, to) end end - attr_reader :channel, :url, :url_params, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name + attr_reader :channel, :url, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name delegate :connection, :stream_name, to: :channel delegate :session, to: :request @@ -82,11 +82,11 @@ def request env = connection.env.merge(mock_env) req = ActionDispatch::Request.new(env) - @url_params = Rails.application.routes.recognize_path_with_request(req, url, req.env[:extras] || {}) - @url_params[:controller] = @url_params[:controller].force_encoding("UTF-8") - @url_params[:action] = @url_params[:action].force_encoding("UTF-8") + path_params = Rails.application.routes.recognize_path_with_request(req, url, req.env[:extras] || {}) + path_params[:controller] = path_params[:controller].force_encoding("UTF-8") + path_params[:action] = path_params[:action].force_encoding("UTF-8") - req.env.merge(ActionDispatch::Http::Parameters::PARAMETERS_KEY => @url_params) + req.env.merge(ActionDispatch::Http::Parameters::PARAMETERS_KEY => path_params) req.env["action_dispatch.request.parameters"] = req.parameters.merge(@params) req.tap { |r| r.session.send :load! } end From c6a40ac51d9aa82c65cbbdb643867de4186bf567 Mon Sep 17 00:00:00 2001 From: leastbad Date: Sun, 1 Nov 2020 11:31:53 -0500 Subject: [PATCH 065/127] Move StimulusReflex::Channel to app/ and allow for a configurable parent channel --- .../channels}/stimulus_reflex/channel.rb | 228 +++++++++--------- .../config/initializers/stimulus_reflex.rb | 5 +- lib/stimulus_reflex.rb | 1 - lib/stimulus_reflex/configuration.rb | 4 +- 4 files changed, 113 insertions(+), 125 deletions(-) rename {lib => app/channels}/stimulus_reflex/channel.rb (91%) diff --git a/lib/stimulus_reflex/channel.rb b/app/channels/stimulus_reflex/channel.rb similarity index 91% rename from lib/stimulus_reflex/channel.rb rename to app/channels/stimulus_reflex/channel.rb index c16ac432..83b4173c 100644 --- a/lib/stimulus_reflex/channel.rb +++ b/app/channels/stimulus_reflex/channel.rb @@ -1,119 +1,109 @@ -# frozen_string_literal: true - -module ApplicationCable - class Channel < ActionCable::Channel::Base - def initialize(connection, identifier, params = {}) - super - application_channel = Rails.root.join("app", "channels", "application_cable", "channel.rb") - require application_channel if File.exist?(application_channel) - end - end -end - -class StimulusReflex::Channel < ApplicationCable::Channel - def stream_name - ids = connection.identifiers.map { |identifier| send(identifier).try(:id) || send(identifier) } - [ - params[:channel], - ids.select(&:present?).join(";") - ].select(&:present?).join(":") - end - - def subscribed - super - fix_environment! - stream_from stream_name - end - - def receive(data) - url = data["url"].to_s - selectors = (data["selectors"] || []).select(&:present?) - selectors = data["selectors"] = ["body"] if selectors.blank? - target = data["target"].to_s - reflex_name, method_name = target.split("#") - reflex_name = reflex_name.camelize - reflex_name = reflex_name.end_with?("Reflex") ? reflex_name : "#{reflex_name}Reflex" - arguments = (data["args"] || []).map { |arg| object_with_indifferent_access arg } - element = StimulusReflex::Element.new(data) - permanent_attribute_name = data["permanentAttributeName"] - form_data = Rack::Utils.parse_nested_query(data["formData"]) - params = form_data.deep_merge(data["params"] || {}) - - begin - begin - reflex_class = reflex_name.constantize.tap { |klass| raise ArgumentError.new("#{reflex_name} is not a StimulusReflex::Reflex") unless is_reflex?(klass) } - reflex = reflex_class.new(self, url: url, element: element, selectors: selectors, method_name: method_name, permanent_attribute_name: permanent_attribute_name, params: params) - delegate_call_to_reflex reflex, method_name, arguments - rescue => invoke_error - message = exception_message_with_backtrace(invoke_error) - body = "Reflex #{target} failed: #{message} [#{url}]" - if reflex - reflex.rescue_with_handler(invoke_error) - reflex.broadcast_message subject: "error", body: body, data: data, error: invoke_error - else - logger.error "\e[31m#{body}\e[0m" - end - return - end - - if reflex.halted? - reflex.broadcast_message subject: "halted", data: data - else - begin - reflex.broadcast(selectors, data) - rescue => render_error - reflex.rescue_with_handler(render_error) - message = exception_message_with_backtrace(render_error) - body = "Reflex failed to re-render: #{message} [#{url}]" - reflex.broadcast_message subject: "error", body: body, data: data, error: render_error - end - end - ensure - commit_session reflex if reflex - end - end - - private - - def object_with_indifferent_access(object) - return object.with_indifferent_access if object.respond_to?(:with_indifferent_access) - object.map! { |obj| object_with_indifferent_access obj } if object.is_a?(Array) - object - end - - def is_reflex?(reflex_class) - reflex_class.ancestors.include? StimulusReflex::Reflex - end - - def delegate_call_to_reflex(reflex, method_name, arguments = []) - method = reflex.method(method_name) - required_params = method.parameters.select { |(kind, _)| kind == :req } - optional_params = method.parameters.select { |(kind, _)| kind == :opt } - - if arguments.size == 0 && required_params.size == 0 - reflex.process(method_name) - elsif arguments.size >= required_params.size && arguments.size <= required_params.size + optional_params.size - reflex.process(method_name, *arguments) - else - raise ArgumentError.new("wrong number of arguments (given #{arguments.inspect}, expected #{required_params.inspect}, optional #{optional_params.inspect})") - end - end - - def commit_session(reflex) - store = reflex.request.session.instance_variable_get("@by") - store.commit_session reflex.request, reflex.controller.response - rescue => e - message = "Failed to commit session! #{exception_message_with_backtrace(e)}" - logger.error "\e[31m#{message}\e[0m" - end - - def exception_message_with_backtrace(exception) - "#{exception}\n#{exception.backtrace.first}" - end - - def fix_environment! - ([ApplicationController] + ApplicationController.descendants).each do |controller| - controller.renderer.instance_variable_set(:@env, connection.env.merge(controller.renderer.instance_variable_get(:@env))) - end - end -end +# frozen_string_literal: true + +class StimulusReflex::Channel < StimulusReflex.configuration.parent_channel.constantize + def stream_name + ids = connection.identifiers.map { |identifier| send(identifier).try(:id) || send(identifier) } + [ + params[:channel], + ids.select(&:present?).join(";") + ].select(&:present?).join(":") + end + + def subscribed + super + fix_environment! + stream_from stream_name + end + + def receive(data) + url = data["url"].to_s + selectors = (data["selectors"] || []).select(&:present?) + selectors = data["selectors"] = ["body"] if selectors.blank? + target = data["target"].to_s + reflex_name, method_name = target.split("#") + reflex_name = reflex_name.camelize + reflex_name = reflex_name.end_with?("Reflex") ? reflex_name : "#{reflex_name}Reflex" + arguments = (data["args"] || []).map { |arg| object_with_indifferent_access arg } + element = StimulusReflex::Element.new(data) + permanent_attribute_name = data["permanentAttributeName"] + form_data = Rack::Utils.parse_nested_query(data["formData"]) + params = form_data.deep_merge(data["params"] || {}) + + begin + begin + reflex_class = reflex_name.constantize.tap { |klass| raise ArgumentError.new("#{reflex_name} is not a StimulusReflex::Reflex") unless is_reflex?(klass) } + reflex = reflex_class.new(self, url: url, element: element, selectors: selectors, method_name: method_name, permanent_attribute_name: permanent_attribute_name, params: params) + delegate_call_to_reflex reflex, method_name, arguments + rescue => invoke_error + message = exception_message_with_backtrace(invoke_error) + body = "Reflex #{target} failed: #{message} [#{url}]" + if reflex + reflex.rescue_with_handler(invoke_error) + reflex.broadcast_message subject: "error", body: body, data: data, error: invoke_error + else + logger.error "\e[31m#{body}\e[0m" + end + return + end + + if reflex.halted? + reflex.broadcast_message subject: "halted", data: data + else + begin + reflex.broadcast(selectors, data) + rescue => render_error + reflex.rescue_with_handler(render_error) + message = exception_message_with_backtrace(render_error) + body = "Reflex failed to re-render: #{message} [#{url}]" + reflex.broadcast_message subject: "error", body: body, data: data, error: render_error + end + end + ensure + commit_session reflex if reflex + end + end + + private + + def object_with_indifferent_access(object) + return object.with_indifferent_access if object.respond_to?(:with_indifferent_access) + object.map! { |obj| object_with_indifferent_access obj } if object.is_a?(Array) + object + end + + def is_reflex?(reflex_class) + reflex_class.ancestors.include? StimulusReflex::Reflex + end + + def delegate_call_to_reflex(reflex, method_name, arguments = []) + method = reflex.method(method_name) + required_params = method.parameters.select { |(kind, _)| kind == :req } + optional_params = method.parameters.select { |(kind, _)| kind == :opt } + + if arguments.size == 0 && required_params.size == 0 + reflex.process(method_name) + elsif arguments.size >= required_params.size && arguments.size <= required_params.size + optional_params.size + reflex.process(method_name, *arguments) + else + raise ArgumentError.new("wrong number of arguments (given #{arguments.inspect}, expected #{required_params.inspect}, optional #{optional_params.inspect})") + end + end + + def commit_session(reflex) + store = reflex.request.session.instance_variable_get("@by") + store.commit_session reflex.request, reflex.controller.response + rescue => e + message = "Failed to commit session! #{exception_message_with_backtrace(e)}" + logger.error "\e[31m#{message}\e[0m" + end + + def exception_message_with_backtrace(exception) + "#{exception}\n#{exception.backtrace.first}" + end + + def fix_environment! + ([ApplicationController] + ApplicationController.descendants).each do |controller| + controller.renderer.instance_variable_set(:@env, connection.env.merge(controller.renderer.instance_variable_get(:@env))) + end + end +end diff --git a/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb b/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb index 7809018b..aee30e77 100644 --- a/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb +++ b/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true StimulusReflex.configure do |config| - # configuration options explained here: - # Short description of what the config variable does, best with the available options. - # config.example = true + # Override the parent class that the StimulusReflex ActionCable channel inherits from + # config.parent_channel = "ApplicationCable::Channel" end diff --git a/lib/stimulus_reflex.rb b/lib/stimulus_reflex.rb index b2740031..19c30bca 100644 --- a/lib/stimulus_reflex.rb +++ b/lib/stimulus_reflex.rb @@ -12,7 +12,6 @@ require "stimulus_reflex/configuration" require "stimulus_reflex/reflex" require "stimulus_reflex/element" -require "stimulus_reflex/channel" require "stimulus_reflex/sanity_checker" require "stimulus_reflex/broadcasters/broadcaster" require "stimulus_reflex/broadcasters/nothing_broadcaster" diff --git a/lib/stimulus_reflex/configuration.rb b/lib/stimulus_reflex/configuration.rb index 05113e97..6cf3004d 100644 --- a/lib/stimulus_reflex/configuration.rb +++ b/lib/stimulus_reflex/configuration.rb @@ -14,10 +14,10 @@ def configuration end class Configuration - attr_accessor :example # put your attr_accessors here, like `attr_accessor: debug`, remove this line when you do. + attr_accessor :parent_channel def initialize - @example = true # put your defaults here like `@debug = true, remove this line when you do. + @parent_channel = "ApplicationCable::Channel" end end end From ac84647934ca86f28045adf9460daba0da4bb83e Mon Sep 17 00:00:00 2001 From: leastbad Date: Sun, 1 Nov 2020 11:52:57 -0500 Subject: [PATCH 066/127] standardrb --- app/channels/stimulus_reflex/channel.rb | 218 ++++++++++++------------ 1 file changed, 109 insertions(+), 109 deletions(-) diff --git a/app/channels/stimulus_reflex/channel.rb b/app/channels/stimulus_reflex/channel.rb index 83b4173c..f6eb2857 100644 --- a/app/channels/stimulus_reflex/channel.rb +++ b/app/channels/stimulus_reflex/channel.rb @@ -1,109 +1,109 @@ -# frozen_string_literal: true - -class StimulusReflex::Channel < StimulusReflex.configuration.parent_channel.constantize - def stream_name - ids = connection.identifiers.map { |identifier| send(identifier).try(:id) || send(identifier) } - [ - params[:channel], - ids.select(&:present?).join(";") - ].select(&:present?).join(":") - end - - def subscribed - super - fix_environment! - stream_from stream_name - end - - def receive(data) - url = data["url"].to_s - selectors = (data["selectors"] || []).select(&:present?) - selectors = data["selectors"] = ["body"] if selectors.blank? - target = data["target"].to_s - reflex_name, method_name = target.split("#") - reflex_name = reflex_name.camelize - reflex_name = reflex_name.end_with?("Reflex") ? reflex_name : "#{reflex_name}Reflex" - arguments = (data["args"] || []).map { |arg| object_with_indifferent_access arg } - element = StimulusReflex::Element.new(data) - permanent_attribute_name = data["permanentAttributeName"] - form_data = Rack::Utils.parse_nested_query(data["formData"]) - params = form_data.deep_merge(data["params"] || {}) - - begin - begin - reflex_class = reflex_name.constantize.tap { |klass| raise ArgumentError.new("#{reflex_name} is not a StimulusReflex::Reflex") unless is_reflex?(klass) } - reflex = reflex_class.new(self, url: url, element: element, selectors: selectors, method_name: method_name, permanent_attribute_name: permanent_attribute_name, params: params) - delegate_call_to_reflex reflex, method_name, arguments - rescue => invoke_error - message = exception_message_with_backtrace(invoke_error) - body = "Reflex #{target} failed: #{message} [#{url}]" - if reflex - reflex.rescue_with_handler(invoke_error) - reflex.broadcast_message subject: "error", body: body, data: data, error: invoke_error - else - logger.error "\e[31m#{body}\e[0m" - end - return - end - - if reflex.halted? - reflex.broadcast_message subject: "halted", data: data - else - begin - reflex.broadcast(selectors, data) - rescue => render_error - reflex.rescue_with_handler(render_error) - message = exception_message_with_backtrace(render_error) - body = "Reflex failed to re-render: #{message} [#{url}]" - reflex.broadcast_message subject: "error", body: body, data: data, error: render_error - end - end - ensure - commit_session reflex if reflex - end - end - - private - - def object_with_indifferent_access(object) - return object.with_indifferent_access if object.respond_to?(:with_indifferent_access) - object.map! { |obj| object_with_indifferent_access obj } if object.is_a?(Array) - object - end - - def is_reflex?(reflex_class) - reflex_class.ancestors.include? StimulusReflex::Reflex - end - - def delegate_call_to_reflex(reflex, method_name, arguments = []) - method = reflex.method(method_name) - required_params = method.parameters.select { |(kind, _)| kind == :req } - optional_params = method.parameters.select { |(kind, _)| kind == :opt } - - if arguments.size == 0 && required_params.size == 0 - reflex.process(method_name) - elsif arguments.size >= required_params.size && arguments.size <= required_params.size + optional_params.size - reflex.process(method_name, *arguments) - else - raise ArgumentError.new("wrong number of arguments (given #{arguments.inspect}, expected #{required_params.inspect}, optional #{optional_params.inspect})") - end - end - - def commit_session(reflex) - store = reflex.request.session.instance_variable_get("@by") - store.commit_session reflex.request, reflex.controller.response - rescue => e - message = "Failed to commit session! #{exception_message_with_backtrace(e)}" - logger.error "\e[31m#{message}\e[0m" - end - - def exception_message_with_backtrace(exception) - "#{exception}\n#{exception.backtrace.first}" - end - - def fix_environment! - ([ApplicationController] + ApplicationController.descendants).each do |controller| - controller.renderer.instance_variable_set(:@env, connection.env.merge(controller.renderer.instance_variable_get(:@env))) - end - end -end +# frozen_string_literal: true + +class StimulusReflex::Channel < StimulusReflex.configuration.parent_channel.constantize + def stream_name + ids = connection.identifiers.map { |identifier| send(identifier).try(:id) || send(identifier) } + [ + params[:channel], + ids.select(&:present?).join(";") + ].select(&:present?).join(":") + end + + def subscribed + super + fix_environment! + stream_from stream_name + end + + def receive(data) + url = data["url"].to_s + selectors = (data["selectors"] || []).select(&:present?) + selectors = data["selectors"] = ["body"] if selectors.blank? + target = data["target"].to_s + reflex_name, method_name = target.split("#") + reflex_name = reflex_name.camelize + reflex_name = reflex_name.end_with?("Reflex") ? reflex_name : "#{reflex_name}Reflex" + arguments = (data["args"] || []).map { |arg| object_with_indifferent_access arg } + element = StimulusReflex::Element.new(data) + permanent_attribute_name = data["permanentAttributeName"] + form_data = Rack::Utils.parse_nested_query(data["formData"]) + params = form_data.deep_merge(data["params"] || {}) + + begin + begin + reflex_class = reflex_name.constantize.tap { |klass| raise ArgumentError.new("#{reflex_name} is not a StimulusReflex::Reflex") unless is_reflex?(klass) } + reflex = reflex_class.new(self, url: url, element: element, selectors: selectors, method_name: method_name, permanent_attribute_name: permanent_attribute_name, params: params) + delegate_call_to_reflex reflex, method_name, arguments + rescue => invoke_error + message = exception_message_with_backtrace(invoke_error) + body = "Reflex #{target} failed: #{message} [#{url}]" + if reflex + reflex.rescue_with_handler(invoke_error) + reflex.broadcast_message subject: "error", body: body, data: data, error: invoke_error + else + logger.error "\e[31m#{body}\e[0m" + end + return + end + + if reflex.halted? + reflex.broadcast_message subject: "halted", data: data + else + begin + reflex.broadcast(selectors, data) + rescue => render_error + reflex.rescue_with_handler(render_error) + message = exception_message_with_backtrace(render_error) + body = "Reflex failed to re-render: #{message} [#{url}]" + reflex.broadcast_message subject: "error", body: body, data: data, error: render_error + end + end + ensure + commit_session reflex if reflex + end + end + + private + + def object_with_indifferent_access(object) + return object.with_indifferent_access if object.respond_to?(:with_indifferent_access) + object.map! { |obj| object_with_indifferent_access obj } if object.is_a?(Array) + object + end + + def is_reflex?(reflex_class) + reflex_class.ancestors.include? StimulusReflex::Reflex + end + + def delegate_call_to_reflex(reflex, method_name, arguments = []) + method = reflex.method(method_name) + required_params = method.parameters.select { |(kind, _)| kind == :req } + optional_params = method.parameters.select { |(kind, _)| kind == :opt } + + if arguments.size == 0 && required_params.size == 0 + reflex.process(method_name) + elsif arguments.size >= required_params.size && arguments.size <= required_params.size + optional_params.size + reflex.process(method_name, *arguments) + else + raise ArgumentError.new("wrong number of arguments (given #{arguments.inspect}, expected #{required_params.inspect}, optional #{optional_params.inspect})") + end + end + + def commit_session(reflex) + store = reflex.request.session.instance_variable_get("@by") + store.commit_session reflex.request, reflex.controller.response + rescue => e + message = "Failed to commit session! #{exception_message_with_backtrace(e)}" + logger.error "\e[31m#{message}\e[0m" + end + + def exception_message_with_backtrace(exception) + "#{exception}\n#{exception.backtrace.first}" + end + + def fix_environment! + ([ApplicationController] + ApplicationController.descendants).each do |controller| + controller.renderer.instance_variable_set(:@env, connection.env.merge(controller.renderer.instance_variable_get(:@env))) + end + end +end From bc9e6df0041e9da042f8b97f15100f381bb57f06 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 1 Nov 2020 16:56:29 +0000 Subject: [PATCH 067/127] [nodoc] update changelog --- CHANGELOG.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index acb73bcb..4584f98c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,12 +4,9 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0...HEAD) -**Breaking changes:** - -- remove isolate concept and make behavior default [\#332](https://github.com/hopsoft/stimulus_reflex/pull/332) ([leastbad](https://github.com/leastbad)) - **Implemented enhancements:** +- Move StimulusReflex::Channel to app/ and allow for a configurable parent channel [\#346](https://github.com/hopsoft/stimulus_reflex/pull/346) ([leastbad](https://github.com/leastbad)) - tab isolation mode v2 [\#335](https://github.com/hopsoft/stimulus_reflex/pull/335) ([leastbad](https://github.com/leastbad)) - Delegate flash to the request [\#334](https://github.com/hopsoft/stimulus_reflex/pull/334) ([hopsoft](https://github.com/hopsoft)) - Opt-in form serialization & params overriding [\#325](https://github.com/hopsoft/stimulus_reflex/pull/325) ([s-s](https://github.com/s-s)) @@ -17,6 +14,8 @@ **Fixed bugs:** - Console exception when reflex updates a page that didn't trigger the update [\#336](https://github.com/hopsoft/stimulus_reflex/issues/336) +- AlpineJS components not reinitalised after reflex [\#329](https://github.com/hopsoft/stimulus_reflex/issues/329) +- Encoding changes from UTF-8 to ASCII-8BIT [\#202](https://github.com/hopsoft/stimulus_reflex/issues/202) **Closed issues:** @@ -33,11 +32,13 @@ - feat: create a more robust package.json [\#340](https://github.com/hopsoft/stimulus_reflex/pull/340) ([ParamagicDev](https://github.com/ParamagicDev)) - Make StimulusReflex configurable and add an initializer [\#339](https://github.com/hopsoft/stimulus_reflex/pull/339) ([RolandStuder](https://github.com/RolandStuder)) - Aliases method\_name to action\_name [\#338](https://github.com/hopsoft/stimulus_reflex/pull/338) ([obie](https://github.com/obie)) +- remove isolate concept and make behavior default [\#332](https://github.com/hopsoft/stimulus_reflex/pull/332) ([leastbad](https://github.com/leastbad)) - add signed/unsigned accessors to element [\#330](https://github.com/hopsoft/stimulus_reflex/pull/330) ([joshleblanc](https://github.com/joshleblanc)) - merge environment into ApplicationController and descendants [\#328](https://github.com/hopsoft/stimulus_reflex/pull/328) ([leastbad](https://github.com/leastbad)) - Move form-data merge logic to the server-side [\#327](https://github.com/hopsoft/stimulus_reflex/pull/327) ([marcoroth](https://github.com/marcoroth)) - fix for PR\#317 which was preventing server messages [\#326](https://github.com/hopsoft/stimulus_reflex/pull/326) ([leastbad](https://github.com/leastbad)) - introduce tab isolation mode [\#324](https://github.com/hopsoft/stimulus_reflex/pull/324) ([leastbad](https://github.com/leastbad)) +- Force request encodings to be UTF-8 instead of ASCII-8BIT after a reflex [\#320](https://github.com/hopsoft/stimulus_reflex/pull/320) ([marcoroth](https://github.com/marcoroth)) - Append short section about resetting a form [\#319](https://github.com/hopsoft/stimulus_reflex/pull/319) ([julianrubisch](https://github.com/julianrubisch)) - lifecycle refactor: introduce new finalize stage, global reflexes dictionary [\#317](https://github.com/hopsoft/stimulus_reflex/pull/317) ([leastbad](https://github.com/leastbad)) - Update events.md [\#316](https://github.com/hopsoft/stimulus_reflex/pull/316) ([gahia](https://github.com/gahia)) From a6766ba3ae821647f5b21ae77eda58216fd6480d Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Sun, 1 Nov 2020 12:09:26 -0500 Subject: [PATCH 068/127] Update sanity_checker.rb --- lib/stimulus_reflex/sanity_checker.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/stimulus_reflex/sanity_checker.rb b/lib/stimulus_reflex/sanity_checker.rb index 014ad85a..c9261805 100644 --- a/lib/stimulus_reflex/sanity_checker.rb +++ b/lib/stimulus_reflex/sanity_checker.rb @@ -89,8 +89,8 @@ def warn_and_exit(text) def exit_with_info puts puts <<~INFO - If you want know what you are doing and you want to start the application anyway, - you can do by putting the following configuration in an initializer: + If you know what you are doing and you want to start the application anyway, + you can add the following directive to an initializer: StimulusReflex.config.exit_on_failed_sanity_checks = false INFO exit From a0d9f0abe2b1956fcac1e19312895f9d420edf0c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 1 Nov 2020 17:15:28 +0000 Subject: [PATCH 069/127] [nodoc] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4584f98c..831d9b1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - tab isolation mode v2 [\#335](https://github.com/hopsoft/stimulus_reflex/pull/335) ([leastbad](https://github.com/leastbad)) - Delegate flash to the request [\#334](https://github.com/hopsoft/stimulus_reflex/pull/334) ([hopsoft](https://github.com/hopsoft)) - Opt-in form serialization & params overriding [\#325](https://github.com/hopsoft/stimulus_reflex/pull/325) ([s-s](https://github.com/s-s)) +- Exit on failed sanity check, provide config to skip exit [\#318](https://github.com/hopsoft/stimulus_reflex/pull/318) ([RolandStuder](https://github.com/RolandStuder)) **Fixed bugs:** From a61fa51565256b817e2477c5c81e7d14b3076f51 Mon Sep 17 00:00:00 2001 From: Dr Nic Williams Date: Mon, 2 Nov 2020 18:03:38 +1000 Subject: [PATCH 070/127] StimulusReflex.debug= on left hand side I think this change -- setting `StimulusReflex.debug` -- reads a little cleaner; and sits nicely underneath `StimulusReflex.initialize`. ``` StimulusReflex.debug = process.env.RAILS_ENV === "development" ``` --- docs/troubleshooting.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index df93e1b1..2bccc52d 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -70,7 +70,7 @@ You can also set debug mode after you've initialized StimulusReflex. This is esp {% code title="app/javascript/controllers/index.js" %} ```javascript StimulusReflex.initialize(application, { consumer }) -if (process.env.RAILS_ENV === 'development') StimulusReflex.debug = true +StimulusReflex.debug = process.env.RAILS_ENV === 'development' ``` {% endcode %} @@ -130,7 +130,7 @@ const application = Application.start(document.documentElement, { const context = require.context('controllers', true, /_controller\.js$/) application.load(definitionsFromContext(context)) StimulusReflex.initialize(application, { consumer }) -if (process.env.RAILS_ENV === 'development') StimulusReflex.debug = true +StimulusReflex.debug = process.env.RAILS_ENV === 'development' ``` {% endcode %} From 0ace2871c7fb413b273dfadb8bf5e0d253097c50 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 2 Nov 2020 12:31:03 +0000 Subject: [PATCH 071/127] [nodoc] update changelog --- CHANGELOG.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 831d9b1e..4e0f3af4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ **Merged pull requests:** +- \[docs\] StimulusReflex.debug= on left hand side [\#348](https://github.com/hopsoft/stimulus_reflex/pull/348) ([drnic](https://github.com/drnic)) - Fix page morphs inside Rails engines [\#344](https://github.com/hopsoft/stimulus_reflex/pull/344) ([leastbad](https://github.com/leastbad)) - Use Webpacker folder if available [\#343](https://github.com/hopsoft/stimulus_reflex/pull/343) ([coorasse](https://github.com/coorasse)) - feat: create a more robust package.json [\#340](https://github.com/hopsoft/stimulus_reflex/pull/340) ([ParamagicDev](https://github.com/ParamagicDev)) @@ -345,6 +346,7 @@ - Some housekeeping [\#189](https://github.com/hopsoft/stimulus_reflex/pull/189) ([hopsoft](https://github.com/hopsoft)) - Allow to call stimulate without a reflex target [\#188](https://github.com/hopsoft/stimulus_reflex/pull/188) ([marcoroth](https://github.com/marcoroth)) - Fix bug in super documentation [\#174](https://github.com/hopsoft/stimulus_reflex/pull/174) ([silva96](https://github.com/silva96)) +- Trap errors in registerConsumer [\#154](https://github.com/hopsoft/stimulus_reflex/pull/154) ([hopsoft](https://github.com/hopsoft)) ## [v3.1.4](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.4) (2020-04-27) @@ -414,10 +416,6 @@ - Setup & Quick Start guide from scratch results in showstopping error [\#153](https://github.com/hopsoft/stimulus_reflex/issues/153) -**Merged pull requests:** - -- Trap errors in registerConsumer [\#154](https://github.com/hopsoft/stimulus_reflex/pull/154) ([hopsoft](https://github.com/hopsoft)) - ## [v3.1.0](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.0) (2020-04-15) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.0.0...v3.1.0) From 0692796330cf5909342ecbc39e3672417e3d73e7 Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Mon, 2 Nov 2020 08:12:07 -0500 Subject: [PATCH 072/127] Update install.rake --- lib/tasks/stimulus_reflex/install.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/stimulus_reflex/install.rake b/lib/tasks/stimulus_reflex/install.rake index 863229f3..b3fac145 100644 --- a/lib/tasks/stimulus_reflex/install.rake +++ b/lib/tasks/stimulus_reflex/install.rake @@ -44,7 +44,7 @@ namespace :stimulus_reflex do initialize_line = lines.find { |line| line.start_with?("StimulusReflex.initialize") } lines << "StimulusReflex.initialize(application, { consumer, controller, isolate: true })\n" unless initialize_line - lines << "if (process.env.RAILS_ENV === 'development') StimulusReflex.debug = true\n" unless initialize_line + lines << "StimulusReflex.debug = process.env.RAILS_ENV === 'development'\n" unless initialize_line File.open(filepath, "w") { |f| f.write lines.join } filepath = Rails.root.join("config/environments/development.rb") From 0238f563b4f735f751fbdd4a549b8f5e6e6cceeb Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 2 Nov 2020 13:13:27 +0000 Subject: [PATCH 073/127] [nodoc] update changelog --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e0f3af4..39197b81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -335,6 +335,7 @@ **Fixed bugs:** - Pluralize the generated class name, so that will match with the file name [\#178](https://github.com/hopsoft/stimulus_reflex/pull/178) ([darkrubyist](https://github.com/darkrubyist)) +- Remove unneeded registerConsumer logic [\#158](https://github.com/hopsoft/stimulus_reflex/pull/158) ([hopsoft](https://github.com/hopsoft)) **Closed issues:** @@ -346,7 +347,6 @@ - Some housekeeping [\#189](https://github.com/hopsoft/stimulus_reflex/pull/189) ([hopsoft](https://github.com/hopsoft)) - Allow to call stimulate without a reflex target [\#188](https://github.com/hopsoft/stimulus_reflex/pull/188) ([marcoroth](https://github.com/marcoroth)) - Fix bug in super documentation [\#174](https://github.com/hopsoft/stimulus_reflex/pull/174) ([silva96](https://github.com/silva96)) -- Trap errors in registerConsumer [\#154](https://github.com/hopsoft/stimulus_reflex/pull/154) ([hopsoft](https://github.com/hopsoft)) ## [v3.1.4](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.4) (2020-04-27) @@ -389,7 +389,6 @@ **Fixed bugs:** - Unable to register the ActionCable Consumer [\#156](https://github.com/hopsoft/stimulus_reflex/issues/156) -- Remove unneeded registerConsumer logic [\#158](https://github.com/hopsoft/stimulus_reflex/pull/158) ([hopsoft](https://github.com/hopsoft)) **Closed issues:** @@ -416,6 +415,10 @@ - Setup & Quick Start guide from scratch results in showstopping error [\#153](https://github.com/hopsoft/stimulus_reflex/issues/153) +**Merged pull requests:** + +- Trap errors in registerConsumer [\#154](https://github.com/hopsoft/stimulus_reflex/pull/154) ([hopsoft](https://github.com/hopsoft)) + ## [v3.1.0](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.0) (2020-04-15) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.0.0...v3.1.0) From a524d8ad45317b15250521d976d9b3d2d304bbe0 Mon Sep 17 00:00:00 2001 From: Hopsoft Date: Mon, 2 Nov 2020 07:18:01 -0700 Subject: [PATCH 074/127] Prep for v3.4.0.pre0 pre-release --- Gemfile.lock | 131 +- README.md | 2 +- javascript/yarn.lock | 1643 ++++++++++++-------------- lib/stimulus_reflex/configuration.rb | 2 +- lib/stimulus_reflex/reflex.rb | 2 +- lib/stimulus_reflex/version.rb | 2 +- package.json | 2 +- 7 files changed, 847 insertions(+), 937 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 95d00db5..bd3e0969 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - stimulus_reflex (3.3.0) + stimulus_reflex (3.4.0.pre0) cable_ready (>= 4.3.0) nokogiri rack @@ -11,56 +11,56 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (6.0.3.3) - actionpack (= 6.0.3.3) + actioncable (6.0.3.4) + actionpack (= 6.0.3.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.0.3.3) - actionpack (= 6.0.3.3) - activejob (= 6.0.3.3) - activerecord (= 6.0.3.3) - activestorage (= 6.0.3.3) - activesupport (= 6.0.3.3) + actionmailbox (6.0.3.4) + actionpack (= 6.0.3.4) + activejob (= 6.0.3.4) + activerecord (= 6.0.3.4) + activestorage (= 6.0.3.4) + activesupport (= 6.0.3.4) mail (>= 2.7.1) - actionmailer (6.0.3.3) - actionpack (= 6.0.3.3) - actionview (= 6.0.3.3) - activejob (= 6.0.3.3) + actionmailer (6.0.3.4) + actionpack (= 6.0.3.4) + actionview (= 6.0.3.4) + activejob (= 6.0.3.4) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.0.3.3) - actionview (= 6.0.3.3) - activesupport (= 6.0.3.3) + actionpack (6.0.3.4) + actionview (= 6.0.3.4) + activesupport (= 6.0.3.4) rack (~> 2.0, >= 2.0.8) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.0.3.3) - actionpack (= 6.0.3.3) - activerecord (= 6.0.3.3) - activestorage (= 6.0.3.3) - activesupport (= 6.0.3.3) + actiontext (6.0.3.4) + actionpack (= 6.0.3.4) + activerecord (= 6.0.3.4) + activestorage (= 6.0.3.4) + activesupport (= 6.0.3.4) nokogiri (>= 1.8.5) - actionview (6.0.3.3) - activesupport (= 6.0.3.3) + actionview (6.0.3.4) + activesupport (= 6.0.3.4) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.0.3.3) - activesupport (= 6.0.3.3) + activejob (6.0.3.4) + activesupport (= 6.0.3.4) globalid (>= 0.3.6) - activemodel (6.0.3.3) - activesupport (= 6.0.3.3) - activerecord (6.0.3.3) - activemodel (= 6.0.3.3) - activesupport (= 6.0.3.3) - activestorage (6.0.3.3) - actionpack (= 6.0.3.3) - activejob (= 6.0.3.3) - activerecord (= 6.0.3.3) + activemodel (6.0.3.4) + activesupport (= 6.0.3.4) + activerecord (6.0.3.4) + activemodel (= 6.0.3.4) + activesupport (= 6.0.3.4) + activestorage (6.0.3.4) + actionpack (= 6.0.3.4) + activejob (= 6.0.3.4) + activerecord (= 6.0.3.4) marcel (~> 0.3.1) - activesupport (6.0.3.3) + activesupport (6.0.3.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) @@ -94,7 +94,7 @@ GEM nokogiri (1.10.10) mini_portile2 (~> 2.4.0) parallel (1.19.2) - parser (2.7.1.4) + parser (2.7.2.0) ast (~> 2.4.1) pry (0.12.2) coderay (~> 1.1.0) @@ -104,50 +104,51 @@ GEM rack (2.2.3) rack-test (1.1.0) rack (>= 1.0, < 3) - rails (6.0.3.3) - actioncable (= 6.0.3.3) - actionmailbox (= 6.0.3.3) - actionmailer (= 6.0.3.3) - actionpack (= 6.0.3.3) - actiontext (= 6.0.3.3) - actionview (= 6.0.3.3) - activejob (= 6.0.3.3) - activemodel (= 6.0.3.3) - activerecord (= 6.0.3.3) - activestorage (= 6.0.3.3) - activesupport (= 6.0.3.3) + rails (6.0.3.4) + actioncable (= 6.0.3.4) + actionmailbox (= 6.0.3.4) + actionmailer (= 6.0.3.4) + actionpack (= 6.0.3.4) + actiontext (= 6.0.3.4) + actionview (= 6.0.3.4) + activejob (= 6.0.3.4) + activemodel (= 6.0.3.4) + activerecord (= 6.0.3.4) + activestorage (= 6.0.3.4) + activesupport (= 6.0.3.4) bundler (>= 1.3.0) - railties (= 6.0.3.3) + railties (= 6.0.3.4) sprockets-rails (>= 2.0.0) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.3.0) loofah (~> 2.3) - railties (6.0.3.3) - actionpack (= 6.0.3.3) - activesupport (= 6.0.3.3) + railties (6.0.3.4) + actionpack (= 6.0.3.4) + activesupport (= 6.0.3.4) method_source rake (>= 0.8.7) thor (>= 0.20.3, < 2.0) rainbow (3.0.0) rake (13.0.1) redis (4.2.2) - regexp_parser (1.7.1) + regexp_parser (1.8.2) rexml (3.2.4) - rubocop (0.89.1) + rubocop (1.0.0) parallel (~> 1.10) - parser (>= 2.7.1.1) + parser (>= 2.7.1.5) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.7) + regexp_parser (>= 1.8) rexml - rubocop-ast (>= 0.3.0, < 1.0) + rubocop-ast (>= 0.6.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (0.3.0) - parser (>= 2.7.1.4) - rubocop-performance (1.7.1) - rubocop (>= 0.82.0) + rubocop-ast (1.1.0) + parser (>= 2.7.1.5) + rubocop-performance (1.8.1) + rubocop (>= 0.87.0) + rubocop-ast (>= 0.4.0) ruby-progressbar (1.10.1) sprockets (4.0.2) concurrent-ruby (~> 1.0) @@ -156,9 +157,9 @@ GEM actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) - standard (0.5.2) - rubocop (~> 0.89.1) - rubocop-performance (~> 1.7.1) + standard (0.8.1) + rubocop (= 1.0.0) + rubocop-performance (= 1.8.1) standardrb (1.0.0) standard thor (1.0.1) @@ -169,7 +170,7 @@ GEM websocket-driver (0.7.3) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.4.0) + zeitwerk (2.4.1) PLATFORMS ruby diff --git a/README.md b/README.md index feb25693..58c117ea 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ License: MIT - Lines of Code + Lines of Code Documentation diff --git a/javascript/yarn.lock b/javascript/yarn.lock index 8c657fa3..5fde00d5 100644 --- a/javascript/yarn.lock +++ b/javascript/yarn.lock @@ -23,28 +23,24 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c" - integrity sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ== - dependencies: - browserslist "^4.12.0" - invariant "^2.2.4" - semver "^5.5.0" +"@babel/compat-data@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" + integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== -"@babel/core@^7.10.2": - version "7.11.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" - integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg== +"@babel/core@^7.10.2", "@babel/core@^7.6.2": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" + integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.6" - "@babel/helper-module-transforms" "^7.11.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.5" + "@babel/generator" "^7.12.1" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.1" + "@babel/parser" "^7.12.3" "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.5" - "@babel/types" "^7.11.5" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" @@ -54,43 +50,12 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.6.2": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.5.tgz#6ad96e2f71899ea3f9b651f0a911e85205d1ff6d" - integrity sha512-fsEANVOcZHzrsV6dMVWqpSeXClq3lNbYrfFGme6DE25FQWe7pyeYpXyx9guqUnpy466JLzZ8z4uwSr2iv60V5Q== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.5" - "@babel/helper-module-transforms" "^7.11.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.5" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.5" - "@babel/types" "^7.11.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.6.1" - -"@babel/generator@^7.11.5": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.5.tgz#a5582773425a468e4ba269d9a1f701fbca6a7a82" - integrity sha512-9UqHWJ4IwRTy4l0o8gq2ef8ws8UPzvtMkVKjTLAiRmza9p9V6Z+OfuNd9fB1j5Q67F+dVJtPC2sZXI8NM9br4g== - dependencies: - "@babel/types" "^7.11.5" - jsesc "^2.5.1" - source-map "^0.6.1" - -"@babel/generator@^7.11.6": - version "7.11.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" - integrity sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA== +"@babel/generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" + integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== dependencies: - "@babel/types" "^7.11.5" + "@babel/types" "^7.12.1" jsesc "^2.5.1" source-map "^0.5.0" @@ -109,14 +74,14 @@ "@babel/helper-explode-assignable-expression" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-builder-react-jsx-experimental@^7.10.4": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz#4ea43dd63857b0a35cd1f1b161dc29b43414e79f" - integrity sha512-Vc4aPJnRZKWfzeCBsqTBnzulVNjABVdahSPhtdMD3Vs80ykx4a87jTHtF/VR+alSrDmNvat7l13yrRHauGcHVw== +"@babel/helper-builder-react-jsx-experimental@^7.12.1": + version "7.12.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz#55fc1ead5242caa0ca2875dcb8eed6d311e50f48" + integrity sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og== dependencies: "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" - "@babel/types" "^7.11.5" + "@babel/helper-module-imports" "^7.12.1" + "@babel/types" "^7.12.1" "@babel/helper-builder-react-jsx@^7.10.4": version "7.10.4" @@ -126,37 +91,35 @@ "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helper-compilation-targets@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2" - integrity sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ== +"@babel/helper-compilation-targets@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" + integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g== dependencies: - "@babel/compat-data" "^7.10.4" + "@babel/compat-data" "^7.12.1" + "@babel/helper-validator-option" "^7.12.1" browserslist "^4.12.0" - invariant "^2.2.4" - levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.7.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" - integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== +"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.7.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" + integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== dependencies: "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.10.5" + "@babel/helper-member-expression-to-functions" "^7.12.1" "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" "@babel/helper-split-export-declaration" "^7.10.4" -"@babel/helper-create-regexp-features-plugin@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" - integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g== +"@babel/helper-create-regexp-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" + integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== dependencies: "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/helper-regex" "^7.10.4" - regexpu-core "^4.7.0" + regexpu-core "^4.7.1" "@babel/helper-define-map@^7.10.4": version "7.10.5" @@ -168,11 +131,11 @@ lodash "^4.17.19" "@babel/helper-explode-assignable-expression@^7.10.4": - version "7.11.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b" - integrity sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ== + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" + integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== dependencies: - "@babel/types" "^7.10.4" + "@babel/types" "^7.12.1" "@babel/helper-function-name@^7.10.4": version "7.10.4" @@ -197,31 +160,33 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" - integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== +"@babel/helper-member-expression-to-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" + integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ== dependencies: - "@babel/types" "^7.11.0" + "@babel/types" "^7.12.1" -"@babel/helper-module-imports@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" - integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" + integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA== dependencies: - "@babel/types" "^7.10.4" + "@babel/types" "^7.12.1" -"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" - integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== +"@babel/helper-module-transforms@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" + "@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/types" "^7.11.0" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" lodash "^4.17.19" "@babel/helper-optimise-call-expression@^7.10.4": @@ -243,40 +208,38 @@ dependencies: lodash "^4.17.19" -"@babel/helper-remap-async-to-generator@^7.10.4": - version "7.11.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d" - integrity sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA== +"@babel/helper-remap-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" + integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== dependencies: "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/helper-wrap-function" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/types" "^7.12.1" -"@babel/helper-replace-supers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" - integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== +"@babel/helper-replace-supers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" + integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw== dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.12.1" "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" -"@babel/helper-simple-access@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" - integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== dependencies: - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/types" "^7.12.1" -"@babel/helper-skip-transparent-expression-wrappers@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" - integrity sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q== +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== dependencies: - "@babel/types" "^7.11.0" + "@babel/types" "^7.12.1" "@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": version "7.11.0" @@ -290,24 +253,29 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-validator-option@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" + integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== + "@babel/helper-wrap-function@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" - integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug== + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" + 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" -"@babel/helpers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" - integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== +"@babel/helpers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" + integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== dependencies: "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" "@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3": version "7.10.4" @@ -323,18 +291,18 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== -"@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.3.3": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" - integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== +"@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3", "@babel/parser@^7.3.3": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" + integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== -"@babel/plugin-proposal-async-generator-functions@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" - integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg== +"@babel/plugin-proposal-async-generator-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" + integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^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@7.7.4": @@ -345,102 +313,102 @@ "@babel/helper-create-class-features-plugin" "^7.7.4" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" - integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg== +"@babel/plugin-proposal-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-create-class-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-dynamic-import@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e" - integrity sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ== +"@babel/plugin-proposal-dynamic-import@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" + integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-export-namespace-from@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54" - integrity sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg== +"@babel/plugin-proposal-export-namespace-from@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" + integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db" - integrity sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw== +"@babel/plugin-proposal-json-strings@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" + integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-logical-assignment-operators@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8" - integrity sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q== +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" + integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a" - integrity sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06" - integrity sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA== +"@babel/plugin-proposal-numeric-separator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" + integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af" - integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA== +"@babel/plugin-proposal-object-rest-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + 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.10.4" + "@babel/plugin-transform-parameters" "^7.12.1" -"@babel/plugin-proposal-optional-catch-binding@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd" - integrity sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g== +"@babel/plugin-proposal-optional-catch-binding@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" + integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076" - integrity sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA== +"@babel/plugin-proposal-optional-chaining@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" + integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-private-methods@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" - integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw== +"@babel/plugin-proposal-private-methods@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" + integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-create-class-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" - integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA== +"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" + integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-async-generators@^7.8.0": @@ -450,10 +418,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" - integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== +"@babel/plugin-syntax-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -471,10 +439,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz#53351dd7ae01995e567d04ce42af1a6e0ba846a6" - integrity sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ== +"@babel/plugin-syntax-flow@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz#a77670d9abe6d63e8acadf4c31bb1eb5a506bbdd" + integrity sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -492,10 +460,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.10.1", "@babel/plugin-syntax-jsx@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c" - integrity sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g== +"@babel/plugin-syntax-jsx@^7.10.1", "@babel/plugin-syntax-jsx@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -541,306 +509,344 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d" - integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ== +"@babel/plugin-syntax-top-level-await@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-arrow-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd" - integrity sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA== +"@babel/plugin-transform-arrow-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" + integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-async-to-generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" - integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ== +"@babel/plugin-transform-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" + integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== dependencies: - "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-module-imports" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" -"@babel/plugin-transform-block-scoped-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8" - integrity sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA== +"@babel/plugin-transform-block-scoped-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" + integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-block-scoping@^7.10.4": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215" - integrity sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew== +"@babel/plugin-transform-block-scoping@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" + integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-classes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" - integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA== +"@babel/plugin-transform-classes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" + 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.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@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb" - integrity sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw== +"@babel/plugin-transform-computed-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" + integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-destructuring@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5" - integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA== +"@babel/plugin-transform-destructuring@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" + integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" - integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA== +"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" + integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-duplicate-keys@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47" - integrity sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA== +"@babel/plugin-transform-duplicate-keys@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" + integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-exponentiation-operator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e" - integrity sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw== +"@babel/plugin-transform-exponentiation-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" + integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-flow-strip-types@^7.10.1", "@babel/plugin-transform-flow-strip-types@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz#c497957f09e86e3df7296271e9eb642876bf7788" - integrity sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ== +"@babel/plugin-transform-flow-strip-types@^7.10.1", "@babel/plugin-transform-flow-strip-types@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" + integrity sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-flow" "^7.10.4" + "@babel/plugin-syntax-flow" "^7.12.1" -"@babel/plugin-transform-for-of@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" - integrity sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ== +"@babel/plugin-transform-for-of@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" + integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7" - integrity sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg== +"@babel/plugin-transform-function-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" + integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== dependencies: "@babel/helper-function-name" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c" - integrity sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ== +"@babel/plugin-transform-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" + integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7" - integrity sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw== +"@babel/plugin-transform-member-expression-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" + integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-modules-amd@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" - integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw== +"@babel/plugin-transform-modules-amd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" + integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== dependencies: - "@babel/helper-module-transforms" "^7.10.5" + "@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@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" - integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w== +"@babel/plugin-transform-modules-commonjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" + integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== dependencies: - "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-simple-access" "^7.12.1" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85" - integrity sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw== +"@babel/plugin-transform-modules-systemjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" + integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== dependencies: "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.10.5" + "@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@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" - integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA== +"@babel/plugin-transform-modules-umd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" + integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== dependencies: - "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" - integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" + integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.1" -"@babel/plugin-transform-new-target@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888" - integrity sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw== +"@babel/plugin-transform-new-target@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" + integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-object-super@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" - integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ== +"@babel/plugin-transform-object-super@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" + integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" -"@babel/plugin-transform-parameters@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a" - integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw== +"@babel/plugin-transform-parameters@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" + integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== dependencies: - "@babel/helper-get-function-arity" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-property-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0" - integrity sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g== +"@babel/plugin-transform-property-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" + integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx@^7.10.1": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2" - integrity sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A== +"@babel/plugin-transform-react-display-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d" + integrity sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-jsx-development@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.1.tgz#0b8f8cd531dcf7991f1e5f2c10a2a4f1cfc78e36" + integrity sha512-IilcGWdN1yNgEGOrB96jbTplRh+V2Pz1EoEwsKsHfX1a/L40cUYuD71Zepa7C+ujv7kJIxnDftWeZbKNEqZjCQ== + dependencies: + "@babel/helper-builder-react-jsx-experimental" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" + +"@babel/plugin-transform-react-jsx-self@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz#ef43cbca2a14f1bd17807dbe4376ff89d714cf28" + integrity sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-jsx-source@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz#d07de6863f468da0809edcf79a1aa8ce2a82a26b" + integrity sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-jsx@^7.10.1", "@babel/plugin-transform-react-jsx@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.1.tgz#c2d96c77c2b0e4362cc4e77a43ce7c2539d478cb" + integrity sha512-RmKejwnT0T0QzQUzcbP5p1VWlpnP8QHtdhEtLG55ZDQnJNalbF3eeDyu3dnGKvGzFIQiBzFhBYTwvv435p9Xpw== dependencies: "@babel/helper-builder-react-jsx" "^7.10.4" - "@babel/helper-builder-react-jsx-experimental" "^7.10.4" + "@babel/helper-builder-react-jsx-experimental" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" -"@babel/plugin-transform-regenerator@^7.10.1", "@babel/plugin-transform-regenerator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" - integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw== +"@babel/plugin-transform-react-pure-annotations@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" + integrity sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.10.1", "@babel/plugin-transform-regenerator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" + integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" - integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ== +"@babel/plugin-transform-reserved-words@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" + integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-shorthand-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" - integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q== +"@babel/plugin-transform-shorthand-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" + integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-spread@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc" - integrity sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw== +"@babel/plugin-transform-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" + integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" -"@babel/plugin-transform-sticky-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" - integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ== +"@babel/plugin-transform-sticky-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" + integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-regex" "^7.10.4" -"@babel/plugin-transform-template-literals@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" - integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw== +"@babel/plugin-transform-template-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" + integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-typeof-symbol@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" - integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA== +"@babel/plugin-transform-typeof-symbol@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" + integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-unicode-escapes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" - integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg== +"@babel/plugin-transform-unicode-escapes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" + integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-unicode-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" - integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A== +"@babel/plugin-transform-unicode-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" + integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/preset-env@^7.10.2", "@babel/preset-env@^7.6.2": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.5.tgz#18cb4b9379e3e92ffea92c07471a99a2914e4272" - integrity sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA== +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.6.2": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" + integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== dependencies: - "@babel/compat-data" "^7.11.0" - "@babel/helper-compilation-targets" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" + "@babel/compat-data" "^7.12.1" + "@babel/helper-compilation-targets" "^7.12.1" + "@babel/helper-module-imports" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-proposal-async-generator-functions" "^7.10.4" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/plugin-proposal-dynamic-import" "^7.10.4" - "@babel/plugin-proposal-export-namespace-from" "^7.10.4" - "@babel/plugin-proposal-json-strings" "^7.10.4" - "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" - "@babel/plugin-proposal-numeric-separator" "^7.10.4" - "@babel/plugin-proposal-object-rest-spread" "^7.11.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" - "@babel/plugin-proposal-optional-chaining" "^7.11.0" - "@babel/plugin-proposal-private-methods" "^7.10.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@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.1" + "@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.1" + "@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.10.4" + "@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" @@ -850,54 +856,51 @@ "@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.10.4" - "@babel/plugin-transform-arrow-functions" "^7.10.4" - "@babel/plugin-transform-async-to-generator" "^7.10.4" - "@babel/plugin-transform-block-scoped-functions" "^7.10.4" - "@babel/plugin-transform-block-scoping" "^7.10.4" - "@babel/plugin-transform-classes" "^7.10.4" - "@babel/plugin-transform-computed-properties" "^7.10.4" - "@babel/plugin-transform-destructuring" "^7.10.4" - "@babel/plugin-transform-dotall-regex" "^7.10.4" - "@babel/plugin-transform-duplicate-keys" "^7.10.4" - "@babel/plugin-transform-exponentiation-operator" "^7.10.4" - "@babel/plugin-transform-for-of" "^7.10.4" - "@babel/plugin-transform-function-name" "^7.10.4" - "@babel/plugin-transform-literals" "^7.10.4" - "@babel/plugin-transform-member-expression-literals" "^7.10.4" - "@babel/plugin-transform-modules-amd" "^7.10.4" - "@babel/plugin-transform-modules-commonjs" "^7.10.4" - "@babel/plugin-transform-modules-systemjs" "^7.10.4" - "@babel/plugin-transform-modules-umd" "^7.10.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" - "@babel/plugin-transform-new-target" "^7.10.4" - "@babel/plugin-transform-object-super" "^7.10.4" - "@babel/plugin-transform-parameters" "^7.10.4" - "@babel/plugin-transform-property-literals" "^7.10.4" - "@babel/plugin-transform-regenerator" "^7.10.4" - "@babel/plugin-transform-reserved-words" "^7.10.4" - "@babel/plugin-transform-shorthand-properties" "^7.10.4" - "@babel/plugin-transform-spread" "^7.11.0" - "@babel/plugin-transform-sticky-regex" "^7.10.4" - "@babel/plugin-transform-template-literals" "^7.10.4" - "@babel/plugin-transform-typeof-symbol" "^7.10.4" - "@babel/plugin-transform-unicode-escapes" "^7.10.4" - "@babel/plugin-transform-unicode-regex" "^7.10.4" + "@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.1" + "@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.1" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@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.11.5" - browserslist "^4.12.0" + "@babel/types" "^7.12.1" core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" semver "^5.5.0" "@babel/preset-flow@^7.10.1": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.10.4.tgz#e0d9c72f8cb02d1633f6a5b7b16763aa2edf659f" - integrity sha512-XI6l1CptQCOBv+ZKYwynyswhtOKwpZZp5n0LG1QKCo8erRhqjoQV6nvx61Eg30JHpysWQSBwA2AWRU3pBbSY5g== + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.12.1.tgz#1a81d376c5a9549e75352a3888f8c273455ae940" + integrity sha512-UAoyMdioAhM6H99qPoKvpHMzxmNVXno8GYU/7vZmGaHk6/KqfDYL1W0NxszVbJ2EP271b7e6Ox+Vk2A9QsB3Sw== dependencies: "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-flow-strip-types" "^7.10.4" + "@babel/plugin-transform-flow-strip-types" "^7.12.1" "@babel/preset-modules@^0.1.3": version "0.1.4" @@ -910,10 +913,23 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/preset-react@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.1.tgz#7f022b13f55b6dd82f00f16d1c599ae62985358c" + integrity sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-display-name" "^7.12.1" + "@babel/plugin-transform-react-jsx" "^7.12.1" + "@babel/plugin-transform-react-jsx-development" "^7.12.1" + "@babel/plugin-transform-react-jsx-self" "^7.12.1" + "@babel/plugin-transform-react-jsx-source" "^7.12.1" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + "@babel/register@^7.6.2": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.11.5.tgz#79becf89e0ddd0fba8b92bc279bc0f5d2d7ce2ea" - integrity sha512-CAml0ioKX+kOAvBQDHa/+t1fgOt3qkTIz0TrRtRAT6XY0m5qYZXR85k6/sLCNPMGhYDlCFHCYuU0ybTJbvlC6w== + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.1.tgz#cdb087bdfc4f7241c03231f22e15d211acf21438" + integrity sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q== dependencies: find-cache-dir "^2.0.0" lodash "^4.17.19" @@ -922,9 +938,9 @@ source-map-support "^0.5.16" "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" - integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" + integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== dependencies: regenerator-runtime "^0.13.4" @@ -937,25 +953,25 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" - integrity sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ== +"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" + integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.5" + "@babel/generator" "^7.12.1" "@babel/helper-function-name" "^7.10.4" "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.11.5" - "@babel/types" "^7.11.5" + "@babel/parser" "^7.12.1" + "@babel/types" "^7.12.1" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.4.4": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" - integrity sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q== +"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" + integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== dependencies: "@babel/helper-validator-identifier" "^7.10.4" lodash "^4.17.19" @@ -1098,11 +1114,6 @@ resolved "https://registry.yarnpkg.com/@stimulus/webpack-helpers/-/webpack-helpers-1.1.1.tgz#eff60cd4e58b921d1a2764dc5215f5141510f2c2" integrity sha512-XOkqSw53N9072FLHvpLM25PIwy+ndkSSbnTtjKuyzsv8K5yfkFB2rv68jU1pzqYa9FZLcvZWP4yazC0V38dx9A== -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - "@types/estree@*": version "0.0.45" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" @@ -1127,9 +1138,9 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "14.6.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.2.tgz#264b44c5a28dfa80198fc2f7b6d3c8a054b9491f" - integrity sha512-onlIwbaeqvZyniGPfdw/TEhKIh79pz66L1q06WUQqJLnAb6wbjvOtepLYTGHTqzdXgBYIE3ZdmqHDGsRsbBz7A== + version "14.14.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" + integrity sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== "@types/parse-json@^4.0.0": version "4.0.0" @@ -1165,10 +1176,15 @@ semver "^6.3.0" tsutils "^3.17.1" +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + abab@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c" - integrity sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ== + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== acorn-globals@^6.0.0: version "6.0.0" @@ -1179,9 +1195,9 @@ acorn-globals@^6.0.0: acorn-walk "^7.1.1" acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== acorn-walk@^7.1.1: version "7.2.0" @@ -1189,9 +1205,9 @@ acorn-walk@^7.1.1: integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn@^7.1.0, acorn@^7.1.1: - version "7.4.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" - integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== aggregate-error@^3.0.0: version "3.1.0" @@ -1202,9 +1218,9 @@ aggregate-error@^3.0.0: indent-string "^4.0.0" ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: - version "6.12.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -1281,11 +1297,10 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: color-convert "^1.9.0" ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" any-observable@^0.3.0: @@ -1335,16 +1350,6 @@ array-uniq@^1.0.1: resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= -array.prototype.map@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec" - integrity sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.4" - arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -1413,9 +1418,9 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" @@ -1509,25 +1514,15 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.0.0: - version "4.14.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.4.tgz#66a18131439f9e16c3da7f352518dfa12f60b0e3" - integrity sha512-7FOuawafVdEwa5Jv4nzeik/PepAjVte6HmVGHsjt2bC237jeL9QlcTBDF3PnHEvcC6uHwLGYPwZHNZMB7wWAnw== +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: + version "4.14.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.6.tgz#97702a9c212e0c6b6afefad913d3a1538e348457" + integrity sha512-zeFYcUo85ENhc/zxHbiIp0LGzzTrE2Pv2JhxvS7kpUb9Q9D38kUX6Bie7pGutJ/5iF5rOxE7CepAuWD56xJ33A== dependencies: - caniuse-lite "^1.0.30001135" - electron-to-chromium "^1.3.570" - escalade "^3.1.0" - node-releases "^1.1.61" - -browserslist@^4.12.0, browserslist@^4.8.5: - version "4.14.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.0.tgz#2908951abfe4ec98737b72f34c3bcedc8d43b000" - integrity sha512-pUsXKAF2lVwhmtpeA3LJrZ76jXuusrNyhduuQs7CDFf9foT4Y38aQOserd2lMe5DSSrjf3fx34oHwryuvxAUgQ== - dependencies: - caniuse-lite "^1.0.30001111" - electron-to-chromium "^1.3.523" - escalade "^3.0.2" - node-releases "^1.1.60" + caniuse-lite "^1.0.30001154" + electron-to-chromium "^1.3.585" + escalade "^3.1.1" + node-releases "^1.1.65" buffer-from@^1.0.0: version "1.1.1" @@ -1540,12 +1535,20 @@ builtin-modules@^3.1.0: integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== cable_ready@^4.4.0-pre0: - version "4.4.0-pre1" - resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.4.0-pre1.tgz#b9a262cefb539a9a87bd71da56835a7ba7d93653" - integrity sha512-V71BpFB9Q9KCHEWH3kzz3umaFpafMb7khr3TTZclO1xnepwPTiWgWEMqSv2afaQlPtqH6FEpr0UNK6dH4GwrSA== + version "4.4.0-pre2" + resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.4.0-pre2.tgz#8a970f9117425c5346218a900e24b74fd5d1ddea" + integrity sha512-p1PVlVpGW7WVQNrttcaStJ1c+wuoG4fRuyoJJ7hAloZPQu2koPpeO0R48J+iomq4ZRfOmCGTe6I49r/cg/8DJw== dependencies: morphdom "^2.6.1" +call-bind@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" + integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.0" + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -1575,6 +1578,11 @@ camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -1585,15 +1593,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: - version "1.0.30001135" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001135.tgz#995b1eb94404a3c9a0d7600c113c9bb27f2cd8aa" - integrity sha512-ziNcheTGTHlu9g34EVoHQdIu5g4foc8EsxMGC7Xkokmvw0dqNtX8BS8RgCgFBaAiSp2IdjvBxNdh0ssib28eVQ== - -caniuse-lite@^1.0.30001111: - version "1.0.30001120" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001120.tgz#cd21d35e537214e19f7b9f4f161f7b0f2710d46c" - integrity sha512-JBP68okZs1X8D7MQTY602jxMYBmXEKOFkzTBaNSkubooMPFOAv2TXWaKle7qgHpjLDhUzA/TMT0qsNleVyXGUQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154: + version "1.0.30001154" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001154.tgz#f3bbc245ce55e4c1cd20fa731b097880181a7f17" + integrity sha512-y9DvdSti8NnYB9Be92ddMZQrcOe04kcQtcxtBx4NkB04+qZ+JUWotnXBJTmxlKudhxNTQ3RRknMwNU2YQl/Org== caseless@~0.12.0: version "0.12.0" @@ -1656,10 +1659,10 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -chokidar@3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" - integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== +chokidar@3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -1667,7 +1670,7 @@ chokidar@3.4.2: is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.4.0" + readdirp "~3.5.0" optionalDependencies: fsevents "~2.1.2" @@ -1768,21 +1771,21 @@ color-name@^1.0.0, color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== +color-string@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" + integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" color@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== dependencies: color-convert "^1.9.1" - color-string "^1.5.2" + color-string "^1.5.4" colorette@^1.2.1: version "1.2.1" @@ -1935,18 +1938,18 @@ css-tree@1.0.0-alpha.37: mdn-data "2.0.4" source-map "^0.6.1" -css-tree@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" - integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA== +css-tree@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0.tgz#21993fa270d742642a90409a2c0cb3ac0298adf6" + integrity sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw== dependencies: - mdn-data "2.0.6" + mdn-data "2.0.12" source-map "^0.6.1" css-what@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39" - integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg== + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== cssesc@^3.0.0: version "3.0.0" @@ -2022,11 +2025,11 @@ cssnano@^4.1.10: postcss "^7.0.0" csso@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" - integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ== + version "4.1.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.1.0.tgz#1d31193efa99b87aa6bad6c0cef155e543d09e8b" + integrity sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg== dependencies: - css-tree "1.0.0-alpha.39" + css-tree "^1.0.0" cssom@^0.4.4: version "0.4.4" @@ -2071,22 +2074,27 @@ date-fns@^1.27.2: resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== -debug@4.1.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== +debug@4.2.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== dependencies: - ms "^2.1.1" + ms "2.1.2" decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + decimal.js@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" - integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== + version "10.2.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== dedent@0.7.0, dedent@^0.7.0: version "0.7.0" @@ -2098,7 +2106,7 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -define-properties@^1.1.2, define-properties@^1.1.3: +define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -2221,15 +2229,10 @@ editorconfig@0.15.3: semver "^5.6.0" sigmund "^1.0.1" -electron-to-chromium@^1.3.523: - version "1.3.555" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.555.tgz#a096716ff77cf8da9a608eb628fd6927869503d2" - integrity sha512-/55x3nF2feXFZ5tdGUOr00TxnUjUgdxhrn+eCJ1FAcoAt+cKQTjQkUC5XF4frMWE1R5sjHk+JueuBalimfe5Pg== - -electron-to-chromium@^1.3.570: - version "1.3.571" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.571.tgz#e57977f1569f8326ae2a7905e26f3943536ba28f" - integrity sha512-UYEQ2Gtc50kqmyOmOVtj6Oqi38lm5yRJY3pLuWt6UIot0No1L09uu6Ja6/1XKwmz/p0eJFZTUZi+khd1PV1hHA== +electron-to-chromium@^1.3.585: + version "1.3.585" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.585.tgz#71cdb722c73488b9475ad1c572cf43a763ef9081" + integrity sha512-xoeqjMQhgHDZM7FiglJAb2aeOxHZWFruUc3MbAGTgE7GB8rr5fTn1Sdh5THGuQtndU3GuXlu91ZKqRivxoCZ/A== elegant-spinner@^1.0.1: version "1.0.1" @@ -2259,9 +2262,9 @@ end-of-stream@^1.1.0: once "^1.4.0" entities@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" - integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== error-ex@^1.3.1: version "1.3.2" @@ -2271,39 +2274,39 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.4, es-abstract@^1.17.5: - version "1.17.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" - integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== + version "1.17.7" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" + 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.0" - is-regex "^1.1.0" - object-inspect "^1.7.0" + is-callable "^1.2.2" + is-regex "^1.1.1" + object-inspect "^1.8.0" object-keys "^1.1.1" - object.assign "^4.1.0" + object.assign "^4.1.1" string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-get-iterator@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" - integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== +es-abstract@^1.18.0-next.1: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== dependencies: - es-abstract "^1.17.4" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" has-symbols "^1.0.1" - is-arguments "^1.0.4" - is-map "^2.0.1" - is-set "^2.0.1" - is-string "^1.0.5" - isarray "^2.0.5" + is-callable "^1.2.2" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" es-to-primitive@^1.2.1: version "1.2.1" @@ -2324,15 +2327,10 @@ es6-promisify@^6.1.1: resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.1.1.tgz#46837651b7b06bf6fff893d03f29393668d01621" integrity sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg== -escalade@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" - integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== - -escalade@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.0.tgz#e8e2d7c7a8b76f6ee64c2181d6b8151441602d4e" - integrity sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig== +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-string-regexp@2.0.0: version "2.0.0" @@ -2362,11 +2360,11 @@ escodegen@^1.14.1: source-map "~0.6.1" eslint-scope@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: - esrecurse "^4.1.0" + esrecurse "^4.3.0" estraverse "^4.1.1" eslint-utils@^1.4.3: @@ -2450,7 +2448,7 @@ esquery@^1.0.1: dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0: +esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== @@ -2559,9 +2557,9 @@ fastparse@^1.1.2: integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== fastq@^1.6.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" - integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + version "1.9.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" + integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== dependencies: reusify "^1.0.4" @@ -2666,12 +2664,10 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" -flat@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" - integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== - dependencies: - is-buffer "~2.0.3" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^2.0.0: version "2.0.2" @@ -2744,15 +2740,24 @@ generic-names@^2.0.1: loader-utils "^1.1.0" gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be" + integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -2929,7 +2934,7 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0, has-symbols@^1.0.1: +has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== @@ -3047,9 +3052,9 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0, import-fresh@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.2.2" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" + integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -3120,13 +3125,6 @@ inquirer@^7.0.0: strip-ansi "^6.0.0" through "^2.3.6" -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -3172,15 +3170,15 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-buffer@^2.0.0, is-buffer@~2.0.3: +is-buffer@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== -is-callable@^1.1.4, is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== is-ci@2.0.0: version "2.0.0" @@ -3201,6 +3199,13 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" +is-core-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" + integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== + dependencies: + has "^1.0.3" + is-date-object@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" @@ -3255,11 +3260,6 @@ is-hexadecimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== -is-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" - integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== - is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -3272,6 +3272,11 @@ is-nan@^1.2.1: dependencies: define-properties "^1.1.3" +is-negative-zero@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -3304,12 +3309,7 @@ is-path-inside@^3.0.1: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-obj@^2.0.0: +is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== @@ -3331,7 +3331,7 @@ is-reference@^1.1.2: dependencies: "@types/estree" "*" -is-regex@^1.1.0: +is-regex@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== @@ -3348,11 +3348,6 @@ is-resolvable@^1.0.0: resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== -is-set@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" - integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== - is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3363,11 +3358,6 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-string@^1.0.4, is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - is-svg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" @@ -3407,11 +3397,6 @@ is-word-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -3427,19 +3412,6 @@ iterall@^1.2.2: resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== -iterate-iterator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" - integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw== - -iterate-value@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" - integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== - dependencies: - es-get-iterator "^1.0.2" - iterate-iterator "^1.0.1" - jest-docblock@25.3.0: version "25.3.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" @@ -3460,7 +3432,7 @@ js-base64@^2.1.9: resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -3598,7 +3570,7 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -leven@3.1.0, leven@^3.1.0: +leven@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== @@ -3608,13 +3580,6 @@ leven@^2.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -3798,13 +3763,6 @@ log-update@^2.3.0: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -3864,16 +3822,16 @@ maxmin@^2.1.0: gzip-size "^3.0.0" pretty-bytes "^3.0.0" +mdn-data@2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.12.tgz#bbb658d08b38f574bbb88f7b83703defdcc46844" + integrity sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q== + mdn-data@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== -mdn-data@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" - integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== - mem@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" @@ -3894,9 +3852,9 @@ merge2@^1.2.3, merge2@^1.3.0: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== microbundle@^0.12.3: - version "0.12.3" - resolved "https://registry.yarnpkg.com/microbundle/-/microbundle-0.12.3.tgz#6f43f1a7d0ad6258f4406e390340db4ad0312e1f" - integrity sha512-OcpBYPytJXOJsTfPjhL5p3nR0JXt0O9dH97K2k6gJ9etokmuRE4qoAfdnYfsUYLRHftCMJu/BkbQySAPnQ87PQ== + version "0.12.4" + resolved "https://registry.yarnpkg.com/microbundle/-/microbundle-0.12.4.tgz#b0cf10b7dbcf9424a13b04086aef9cbf416756a4" + integrity sha512-KskaxaeJc2X/AnohtdYo97L55nZZiNGPIS/ngXuDsIVnPfwHdtZWYJAJLAG+08E9VBr+eLa6N6VX+e2uoj/cNQ== dependencies: "@babel/core" "^7.10.2" "@babel/plugin-proposal-class-properties" "7.7.4" @@ -3905,9 +3863,9 @@ microbundle@^0.12.3: "@babel/plugin-transform-flow-strip-types" "^7.10.1" "@babel/plugin-transform-react-jsx" "^7.10.1" "@babel/plugin-transform-regenerator" "^7.10.1" - "@babel/preset-env" "^7.10.2" + "@babel/preset-env" "^7.11.0" "@babel/preset-flow" "^7.10.1" - "@babel/preset-modules" "^0.1.3" + "@babel/preset-react" "^7.10.4" "@rollup/plugin-alias" "^3.1.1" "@rollup/plugin-babel" "^5.0.3" "@rollup/plugin-commonjs" "^13.0.0" @@ -3919,6 +3877,7 @@ microbundle@^0.12.3: babel-plugin-transform-async-to-promises "^0.8.15" babel-plugin-transform-replace-expressions "^0.2.0" brotli-size "^4.0.0" + builtin-modules "^3.1.0" camelcase "^5.3.1" cssnano "^4.1.10" es6-promisify "^6.1.1" @@ -3990,14 +3949,15 @@ mkdirp@^0.5.1, mkdirp@~0.5.1: minimist "^1.2.5" mocha@^8.0.1: - version "8.1.3" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.1.3.tgz#5e93f873e35dfdd69617ea75f9c68c2ca61c2ac5" - integrity sha512-ZbaYib4hT4PpF4bdSO2DohooKXIn4lDeiYqB+vTmCdr6l2woW0b6H3pf5x4sM5nwQMru9RvjjHYWVGltR50ZBw== + version "8.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.0.tgz#f8aa79110b4b5a6580c65d4dd8083c425282624e" + integrity sha512-lEWEMq2LMfNJMKeuEwb5UELi+OgFDollXaytR5ggQcHpzG3NP/R7rvixAvF+9/lLsTWhWG+4yD2M70GsM06nxw== dependencies: + "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" - chokidar "3.4.2" - debug "4.1.1" + chokidar "3.4.3" + debug "4.2.0" diff "4.0.2" escape-string-regexp "4.0.0" find-up "5.0.0" @@ -4008,17 +3968,16 @@ mocha@^8.0.1: log-symbols "4.0.0" minimatch "3.0.4" ms "2.1.2" - object.assign "4.1.0" - promise.allsettled "1.0.2" - serialize-javascript "4.0.0" - strip-json-comments "3.0.1" - supports-color "7.1.0" + nanoid "3.1.12" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "7.2.0" which "2.0.2" wide-align "1.1.3" - workerpool "6.0.0" + workerpool "6.0.2" yargs "13.3.2" yargs-parser "13.1.2" - yargs-unparser "1.6.1" + yargs-unparser "2.0.0" module-details-from-path@^1.0.3: version "1.0.3" @@ -4035,7 +3994,7 @@ mri@^1.1.0, mri@^1.1.5: resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6" integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -4060,6 +4019,11 @@ n-readlines@1.0.0: resolved "https://registry.yarnpkg.com/n-readlines/-/n-readlines-1.0.0.tgz#c353797f216c253fdfef7e91da4e8b17c29a91a6" integrity sha512-ISDqGcspVu6U3VKqtJZG1uR55SmNNF9uK0EMq1IvNVVZOui6MW6VR0+pIZhqz85ORAGp+4zW+5fJ/SE7bwEibA== +nanoid@3.1.12: + version "3.1.12" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" + integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -4080,15 +4044,10 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-releases@^1.1.60: - version "1.1.60" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" - integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== - -node-releases@^1.1.61: - version "1.1.61" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.61.tgz#707b0fca9ce4e11783612ba4a2fcba09047af16e" - integrity sha512-DD5vebQLg8jLCOzwupn954fbIiZht05DAZs0k2u8NStSe6h9XdsuIQL8hSRKYiU8WUQRznmSDrKGbv3ObOmC7g== +node-releases@^1.1.65: + version "1.1.65" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.65.tgz#52d9579176bd60f23eba05c4438583f341944b81" + integrity sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA== normalize-path@3.0.0, normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -4144,33 +4103,33 @@ object-assign@^4.0.1, object-assign@^4.1.0: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-inspect@^1.7.0: +object-inspect@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== object-is@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" - integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== + version "1.1.3" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz#2e3b9e65560137455ee3bd62aec4d90a2ea1cc81" + integrity sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg== dependencies: define-properties "^1.1.3" - es-abstract "^1.17.5" + es-abstract "^1.18.0-next.1" -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@4.1.0, object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== +object.assign@^4.1.0, object.assign@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" object.getownpropertydescriptors@^2.1.0: version "2.1.0" @@ -4296,14 +4255,14 @@ p-map@^3.0.0: aggregate-error "^3.0.0" p-queue@^6.3.0: - version "6.6.1" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.1.tgz#578891ada028a61371ec2692b26614d1b7d2b10a" - integrity sha512-miQiSxLYPYBxGkrldecZC18OTLjdUqnlRebGzPRiVxB8mco7usCmm7hFuxiTvp93K18JnLtE4KMMycjAu/cQQg== + version "6.6.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== dependencies: eventemitter3 "^4.0.4" - p-timeout "^3.1.0" + p-timeout "^3.2.0" -p-timeout@^3.1.0: +p-timeout@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== @@ -4463,9 +4422,9 @@ please-upgrade-node@^3.1.1: semver-compare "^1.0.0" postcss-calc@^7.0.1: - version "7.0.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.4.tgz#5e177ddb417341e6d4a193c5d9fd8ada79094f8b" - integrity sha512-0I79VRAd1UTkaHzY9w83P39YGO/M3bG7/tNLrHGEunBolfoGM0hSjrGvjoeaj0JE/zIw5GsI2KZ0UwDJqv5hjw== + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== dependencies: postcss "^7.0.27" postcss-selector-parser "^6.0.2" @@ -4526,9 +4485,9 @@ postcss-less@2.0.0: postcss "^5.2.16" postcss-load-config@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.1.tgz#0a684bb8beb05e55baf922f7ab44c3edb17cf78e" - integrity sha512-D2ENobdoZsW0+BHy4x1CAkXtbXtYWYRIxL/JbtRBqrRGOPtJ2zoga/bEZWhV/ShWB5saVxJMzbMdSyA/vv4tXw== + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== dependencies: cosmiconfig "^5.0.0" import-cwd "^2.0.0" @@ -4778,9 +4737,9 @@ postcss-selector-parser@^3.0.0: uniq "^1.0.1" postcss-selector-parser@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.3.tgz#766d77728728817cc140fa1ac6da5e77f9fada98" - integrity sha512-0ClFaY4X1ra21LRqbW6y3rUbWcxnSVkDFG57R7Nxus9J9myPFlv+jYDMohzpkBx0RrjjiqjtycpchQ+PLGmZ9w== + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== dependencies: cssesc "^3.0.0" indexes-of "^1.0.1" @@ -4853,19 +4812,10 @@ postcss@^6.0.1: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.0: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.1, postcss@^7.0.27, postcss@^7.0.32: - version "7.0.34" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.34.tgz#f2baf57c36010df7de4009940f21532c16d65c20" - integrity sha512-H/7V2VeNScX9KE83GDrDZNiGT1m2H+UTnlinIzhjlLX9hfMUn1mHNnGeX81a1c8JSBdBvqk7c2ZOG6ZPn5itGw== +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27, postcss@^7.0.32: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -4975,17 +4925,6 @@ progress@^2.0.0: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -promise.allsettled@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" - integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg== - dependencies: - array.prototype.map "^1.0.1" - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - iterate-value "^1.0.0" - promise.series@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" @@ -5031,10 +4970,10 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== dependencies: picomatch "^2.2.1" @@ -5046,9 +4985,9 @@ regenerate-unicode-properties@^8.2.0: regenerate "^1.4.0" regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.13.4: version "0.13.7" @@ -5074,10 +5013,10 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== dependencies: regenerate "^1.4.0" regenerate-unicode-properties "^8.2.0" @@ -5218,10 +5157,11 @@ resolve@1.15.1: path-parse "^1.0.6" resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.16.0, resolve@^1.3.2: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + version "1.18.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" + integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== dependencies: + is-core-module "^2.0.0" path-parse "^1.0.6" restore-cursor@^2.0.0: @@ -5355,21 +5295,21 @@ run-async@^2.4.0: integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + version "1.1.10" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== rxjs@^6.3.3, rxjs@^6.6.0: - version "6.6.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2" - integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg== + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== dependencies: tslib "^1.9.0" sade@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.3.tgz#a217ccc4fb4abb2d271648bf48f6628b2636fa1b" - integrity sha512-m4BctppMvJ60W1dXnHq7jMmFe3hPJZDAH85kQ3ACTo7XZNVUuTItCQ+2HfyaMeV5cKrbw7l4vD/6We3GBxvdJw== + version "1.7.4" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.4.tgz#ea681e0c65d248d2095c90578c03ca0bb1b54691" + integrity sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== dependencies: mri "^1.1.0" @@ -5425,7 +5365,14 @@ semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -serialize-javascript@4.0.0, serialize-javascript@^4.0.0: +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== @@ -5472,9 +5419,9 @@ signal-exit@^3.0.2: integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== simple-html-tokenizer@^0.5.7: - version "0.5.9" - resolved "https://registry.yarnpkg.com/simple-html-tokenizer/-/simple-html-tokenizer-0.5.9.tgz#1a83fe97f5a3e39b335fddf71cfe9b0263b581c2" - integrity sha512-w/3FEDN94r4JQ9WoYrIr8RqDIPZdyNkdpbK9glFady1CAEyD97XWCv8HFetQO21w81e7h7Nh59iYTyG1mUJftg== + version "0.5.10" + resolved "https://registry.yarnpkg.com/simple-html-tokenizer/-/simple-html-tokenizer-0.5.10.tgz#0843e4f00c9677f1c81e3dfeefcee0a4aca8e5d0" + integrity sha512-1DHMUmvUOGuUZ9/+cX/+hOhWhRD5dEw6lodn8WuV+T+cQ31hhBcCu1dcDsNotowi4mMaNhrLyKoS+DtB81HdDA== simple-swizzle@^0.2.2: version "0.2.2" @@ -5614,20 +5561,20 @@ string-width@^3.0.0, string-width@^3.1.0: strip-ansi "^5.1.0" string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== + version "1.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz#6ddd9a8796bc714b489a3ae22246a208f37bfa46" + integrity sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw== dependencies: define-properties "^1.1.3" - es-abstract "^1.17.5" + es-abstract "^1.18.0-next.1" string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + version "1.0.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz#22d45da81015309cd0cdd79787e8919fc5c613e7" + integrity sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg== dependencies: define-properties "^1.1.3" - es-abstract "^1.17.5" + es-abstract "^1.18.0-next.1" stringify-object@^3.3.0: version "3.3.0" @@ -5671,12 +5618,7 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-json-comments@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== - -strip-json-comments@^3.0.1: +strip-json-comments@3.1.1, strip-json-comments@^3.0.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -5695,10 +5637,10 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -supports-color@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== +supports-color@7.2.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" @@ -5728,13 +5670,6 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - svgo@^1.0.0: version "1.3.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" @@ -5850,9 +5785,9 @@ tr46@^2.0.2: punycode "^2.1.1" trim-trailing-lines@^1.0.0, trim-trailing-lines@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94" - integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA== + version "1.1.4" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" + integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== trim@0.0.1: version "0.0.1" @@ -5870,9 +5805,9 @@ tslib@1.10.0: integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tsutils@^3.17.1: version "3.17.1" @@ -5916,9 +5851,9 @@ typescript@^3.9.5: integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== uglify-js@^3.1.4: - version "3.10.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.3.tgz#f0d2f99736c14de46d2d24649ba328be3e71c3bf" - integrity sha512-Lh00i69Uf6G74mvYpHCI9KVVXLcHW/xu79YTvH7Mkc9zyKUeSPz0owW0dguj0Scavns3ZOh3wY63J0Zb97Za2g== + version "3.11.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.4.tgz#b47b7ae99d4bd1dca65b53aaa69caa0909e6fadf" + integrity sha512-FyYnoxVL1D6+jDGQpbK5jW6y/2JlVfRfEeQ67BPCUg5wfCjaKOpr2XeceE4QL+MkhxliLtf5EbrMDZgzpt2CNw== unherit@^1.0.4: version "1.1.3" @@ -6069,9 +6004,9 @@ uuid@^3.3.2: integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" + integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== vendors@^1.0.0: version "1.0.4" @@ -6162,9 +6097,9 @@ whatwg-mimetype@^2.3.0: integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== whatwg-url@^8.0.0: - version "8.2.1" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.2.1.tgz#ed73417230784b281fb2a32c3c501738b46167c3" - integrity sha512-ZmVCr6nfBeaMxEHALLEGy0LszYjpJqf6PVNQUQ1qd9Et+q7Jpygd4rGGDXgHjD8e99yLFseD69msHDM4YwPZ4A== + version "8.4.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== dependencies: lodash.sortby "^4.7.0" tr46 "^2.0.2" @@ -6218,10 +6153,10 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -workerpool@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" - integrity sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA== +workerpool@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.2.tgz#e241b43d8d033f1beb52c7851069456039d1d438" + integrity sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q== wrap-ansi@^3.0.1: version "3.0.1" @@ -6311,24 +6246,15 @@ yargs-parser@13.1.2, yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^15.0.1: - version "15.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" - integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-unparser@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.1.tgz#bd4b0ee05b4c94d058929c32cb09e3fce71d3c5f" - integrity sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA== +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== dependencies: - camelcase "^5.3.1" - decamelize "^1.2.0" - flat "^4.1.0" - is-plain-obj "^1.1.0" - yargs "^14.2.3" + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" yargs@13.3.2: version "13.3.2" @@ -6345,20 +6271,3 @@ yargs@13.3.2: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^13.1.2" - -yargs@^14.2.3: - version "14.2.3" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" - integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== - dependencies: - cliui "^5.0.0" - decamelize "^1.2.0" - find-up "^3.0.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 "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^15.0.1" diff --git a/lib/stimulus_reflex/configuration.rb b/lib/stimulus_reflex/configuration.rb index 590a897c..97e77006 100644 --- a/lib/stimulus_reflex/configuration.rb +++ b/lib/stimulus_reflex/configuration.rb @@ -10,7 +10,7 @@ def configuration @configuration ||= Configuration.new end - alias config configuration + alias_method :config, :configuration end class Configuration diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index f6f5bf82..68d08bdb 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -45,7 +45,7 @@ def normalize_callback_option!(options, from, to) attr_reader :channel, :url, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name - alias action_name method_name # for compatibility with controller libraries like Pundit that expect an action name + alias_method :action_name, :method_name # for compatibility with controller libraries like Pundit that expect an action name delegate :connection, :stream_name, to: :channel delegate :flash, :session, to: :request diff --git a/lib/stimulus_reflex/version.rb b/lib/stimulus_reflex/version.rb index 81c4dcbd..8554d6b5 100644 --- a/lib/stimulus_reflex/version.rb +++ b/lib/stimulus_reflex/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module StimulusReflex - VERSION = "3.3.0" + VERSION = "3.4.0.pre0" end diff --git a/package.json b/package.json index 821580fd..6110f2e8 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@babel/register": "^7.6.2", "@rails/actioncable": "^6.0.3-3", "assert": "^2.0.0", - "cable_ready": "^4.4.0-pre0", + "cable_ready": "^4.4.0-pre2", "esm": "^3.2.25", "jsdom": "^16.0.1", "microbundle": "^0.12.3", From 8571335c27a4da39523567f27fd3828cdae59988 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 2 Nov 2020 14:20:00 +0000 Subject: [PATCH 075/127] [nodoc] update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 39197b81..2cb53e0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -213,7 +213,6 @@ - Revert "Revert "Add instructions for pulling the user id out of session storage"" [\#240](https://github.com/hopsoft/stimulus_reflex/pull/240) ([leastbad](https://github.com/leastbad)) - Revert "Add instructions for pulling the user id out of session storage" [\#239](https://github.com/hopsoft/stimulus_reflex/pull/239) ([leastbad](https://github.com/leastbad)) - Add instructions for pulling the user id out of session storage [\#238](https://github.com/hopsoft/stimulus_reflex/pull/238) ([mtomov](https://github.com/mtomov)) -- adds params documentation [\#230](https://github.com/hopsoft/stimulus_reflex/pull/230) ([RolandStuder](https://github.com/RolandStuder)) - Fix calling wrong controller lifecycle methods [\#226](https://github.com/hopsoft/stimulus_reflex/pull/226) ([davidalejandroaguilar](https://github.com/davidalejandroaguilar)) - Allow to pass reflex action names to reflex generator [\#224](https://github.com/hopsoft/stimulus_reflex/pull/224) ([marcoroth](https://github.com/marcoroth)) @@ -233,6 +232,7 @@ **Merged pull requests:** +- adds params documentation [\#230](https://github.com/hopsoft/stimulus_reflex/pull/230) ([RolandStuder](https://github.com/RolandStuder)) - Fix typos in the documentation [\#228](https://github.com/hopsoft/stimulus_reflex/pull/228) ([dlt](https://github.com/dlt)) ## [v3.2.2](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.2) (2020-06-06) @@ -335,7 +335,6 @@ **Fixed bugs:** - Pluralize the generated class name, so that will match with the file name [\#178](https://github.com/hopsoft/stimulus_reflex/pull/178) ([darkrubyist](https://github.com/darkrubyist)) -- Remove unneeded registerConsumer logic [\#158](https://github.com/hopsoft/stimulus_reflex/pull/158) ([hopsoft](https://github.com/hopsoft)) **Closed issues:** @@ -389,6 +388,7 @@ **Fixed bugs:** - Unable to register the ActionCable Consumer [\#156](https://github.com/hopsoft/stimulus_reflex/issues/156) +- Remove unneeded registerConsumer logic [\#158](https://github.com/hopsoft/stimulus_reflex/pull/158) ([hopsoft](https://github.com/hopsoft)) **Closed issues:** From cd78218e54b43f10138f50596d57f35e7a29e043 Mon Sep 17 00:00:00 2001 From: Hopsoft Date: Mon, 2 Nov 2020 07:20:36 -0700 Subject: [PATCH 076/127] Update js version post pre-release --- javascript/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/package.json b/javascript/package.json index 508dbb25..2671b88e 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -1,6 +1,6 @@ { "name": "stimulus_reflex", - "version": "3.3.0", + "version": "3.4.0-pre0", "description": "Build reactive applications with the Rails tooling you already know and love.", "keywords": [ "ruby", From 7e8fa73689bef20265c93b25a75b6ffde9573a4e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 2 Nov 2020 14:22:34 +0000 Subject: [PATCH 077/127] [nodoc] update changelog --- CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cb53e0b..72a4f4e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Changelog -## [Unreleased](https://github.com/hopsoft/stimulus_reflex/tree/HEAD) +## [v3.4.0.pre0](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre0) (2020-11-02) -[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0...HEAD) +[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0...v3.4.0.pre0) **Implemented enhancements:** @@ -213,6 +213,7 @@ - Revert "Revert "Add instructions for pulling the user id out of session storage"" [\#240](https://github.com/hopsoft/stimulus_reflex/pull/240) ([leastbad](https://github.com/leastbad)) - Revert "Add instructions for pulling the user id out of session storage" [\#239](https://github.com/hopsoft/stimulus_reflex/pull/239) ([leastbad](https://github.com/leastbad)) - Add instructions for pulling the user id out of session storage [\#238](https://github.com/hopsoft/stimulus_reflex/pull/238) ([mtomov](https://github.com/mtomov)) +- adds params documentation [\#230](https://github.com/hopsoft/stimulus_reflex/pull/230) ([RolandStuder](https://github.com/RolandStuder)) - Fix calling wrong controller lifecycle methods [\#226](https://github.com/hopsoft/stimulus_reflex/pull/226) ([davidalejandroaguilar](https://github.com/davidalejandroaguilar)) - Allow to pass reflex action names to reflex generator [\#224](https://github.com/hopsoft/stimulus_reflex/pull/224) ([marcoroth](https://github.com/marcoroth)) @@ -232,7 +233,6 @@ **Merged pull requests:** -- adds params documentation [\#230](https://github.com/hopsoft/stimulus_reflex/pull/230) ([RolandStuder](https://github.com/RolandStuder)) - Fix typos in the documentation [\#228](https://github.com/hopsoft/stimulus_reflex/pull/228) ([dlt](https://github.com/dlt)) ## [v3.2.2](https://github.com/hopsoft/stimulus_reflex/tree/v3.2.2) (2020-06-06) @@ -375,7 +375,6 @@ - Remove implicit permanent for text inputs [\#176](https://github.com/hopsoft/stimulus_reflex/pull/176) ([hopsoft](https://github.com/hopsoft)) - Support devise authenticated routes [\#172](https://github.com/hopsoft/stimulus_reflex/pull/172) ([db0sch](https://github.com/db0sch)) - setupDeclarativeReflexes export with UJS support [\#169](https://github.com/hopsoft/stimulus_reflex/pull/169) ([leastbad](https://github.com/leastbad)) -- Fix compilation issue [\#168](https://github.com/hopsoft/stimulus_reflex/pull/168) ([jonathan-s](https://github.com/jonathan-s)) ## [v3.1.3](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.3) (2020-04-20) @@ -417,6 +416,7 @@ **Merged pull requests:** +- Fix compilation issue [\#168](https://github.com/hopsoft/stimulus_reflex/pull/168) ([jonathan-s](https://github.com/jonathan-s)) - Trap errors in registerConsumer [\#154](https://github.com/hopsoft/stimulus_reflex/pull/154) ([hopsoft](https://github.com/hopsoft)) ## [v3.1.0](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.0) (2020-04-15) From 1864e0350590d4ca4bcde5954663eae3dcf887ea Mon Sep 17 00:00:00 2001 From: leastbad Date: Mon, 2 Nov 2020 22:54:24 +0000 Subject: [PATCH 078/127] GitBook: [master] 2 pages and one asset modified --- .../screenshot_2020-05-05_at_01.19.44 (1).png | Bin 0 -> 112145 bytes docs/authentication.md | 24 ++++-------------- docs/troubleshooting.md | 4 +-- 3 files changed, 7 insertions(+), 21 deletions(-) create mode 100644 docs/.gitbook/assets/screenshot_2020-05-05_at_01.19.44 (1).png diff --git a/docs/.gitbook/assets/screenshot_2020-05-05_at_01.19.44 (1).png b/docs/.gitbook/assets/screenshot_2020-05-05_at_01.19.44 (1).png new file mode 100644 index 0000000000000000000000000000000000000000..a0796040596a010f956ac7a23bbdb8bad084c906 GIT binary patch literal 112145 zcmeFYWmF|ivn~h?-ALmujk~+MH16&+4I6iNZ`@rPcXyYKySux)>jsARJKw$M%$+-H z&itIUrfSv7sK|KID>EZ9DpWyE93B=277PpwUQ$9-2@LG3FBllOKlHaxj^=_1I~W+8 zk(r2yf~1HDp@O}Qv6&?R3``<4Q5{MrUK|(bViZ^X1vv)!0p+JL7&cKk^cUu@iZGId z27M_=Dmo!a)EZ48JH@7|g5BI;B@oD`v|+2~Qk1y`nDIP5$#u^VP3~`~($@W8^Mya7Hj}&a1Dm*c9ySu!7hpAM{mK z5Tf(?c8Ydy4j^Dyr$Rmwm~Xz&Um_Lg8$xSvFb0gFy=O2ak?ak3<4&1B{Ybb&2EIs> zs@t?|dL=#B=Iw@45?NGstaIzRCzX-O$pJ;ydrya_BgZ`~vqCosra1d+<%rAu@ zkQ01I(amjEwHf+1lqo}iD@Wg11OsQ?`#=`c*yN!JyrGj`fG|QVrBMrL`NPEQy=iZs zI@oimTMTuSWJl$>7iVKE6~Cm1HN+zydzz_KO9Z4wtg?s)mO!m0Mp}BVsO;ze{S+z% zsSWm-C>AMQ_y_rTWYo+N3p1GkZ^*W}kcs4t8%$b@v}o9rEBqn(^IdZa(O;@Vdsc_j zryC(4^(#9-j##|cN11j9{u)S)MnNhf^A#))Ln1DhXd!4xFcy`dq_Mjkwtwx22)Bh< z4jl;JXBo@Nt1%v302t}rVST9O?N{j32-WBbU)T!sv=a_&<=2Sx6~F=__rViWQP_ou z=ck~tC4?)Wp_ESGSzt<{vOWKPG0~*P7)~IAWlS4f1RhwAAia4 z9+DvOg(CL|Hoh`0=q#xie$3frlS}0(B3#!x2GNG*^dbF*WQsTnN#6o*CcyuiB~;zA zZMkMbxia|>I2ee~1JT1KOtHPdDp><6(;)Yi8zLwi=G+~Pu;Upz4u#r%kHKT!m05#q z-ol?kghC9=UK01V3Z?5t_*GPcx};v9$D~kEsK^G2ZSHzkx<`skxAzB0!6CrrMZ%OsU@8-!zNz^; z{UTX{Z46ld#ju2k(~WHV1q3${Aiagt48JIk>H5vR+hQu35E>?j1g;OOM$i)3qz~SJ z1YCj=~R(9|>eKW=ze%1fsIo$RYN8oM&XNh`)jp#CSt=d;Bwzpg-;6ObJ0a z*~Z0q+}{9sKUh&@1&gvZkKpQ&bR+1+X{M+h5m$UO1t;?sr{wOiSAxN1z8n5dO8Gu8 z(5wNM6bAThZ^^F~mT0J|fwutXb4;T_u@KPF8_Ee`vQ2LbFTNGp43_0LIheeSd%f-o zu@R)-eYxB5MDZo#my|8}6N+n~WFT#ij4({j-|BeV5L?)bLi!#H;@Bb571WMxYZ)SA z)I+3XWDeBRP`W;Z9g*Jzp`y&>T=5`DCQ^Q?EEVAu!4(m1xmKAI;tn#4Sh^wWJw|(K zO(}Zv1FGdtY>>^zP2Fz98?R=V^J+qDAGCfo%or7 zuNzjGL9d=%#iQS(^jLiXzs}DWw4u>~)xp~VaA$Kjxz9X_zdOGZx&QMLe&2MOHRm(b zg|z@jFVdyax75wqf5c3PvxIvER|`J^_kdH6dxvv^>yAZ^J;7Yg%4@zf+?V1kgU^!O z;@^_xmhtQzxC}i3Jsna&aw4XKe?4HDuNV_MR6JL_ag;XgVVGoBY!`J+y(_lcM&2A6 zKP(!bO0F#~PT(z9YlN&87xjJ{2eO)KVwi*rPI^A8xyoTR84%0)l#ogAl~w)WmXXuQ?z4q`-G z;lC!Q$ESBy%$%3HE`SfdYsxE$+`rN z16h30WALxM1WmF5gaXynS3)sPF^r}rQ>alS6zO%rx4cVi8u*@+PwH^jnR|P)o>SZFR=M3+R6Npkg;p1cfL(VP;9B*x(|9pXK{4W#bIC* zv@qQWB`7EGmb!i6HUI^(pxyS#AYv*opm`RbmCC`v&l8nt~Er?T! zS8^$QkVVL7x3*VLGtrVmKw#gVc z96G$5$P$zOS3665LVA*ic0Tz)Vzn?`K8vkG6##=~G2++NnD#?O4Hj_@4;bhP_dsa}Fg%*VV&Ipx7k}}J^Xn)bu@_1-> zV3i&{Hkq>7+U4H8^Hulf_RlsEzni^m5sS{z4RU# zN9X;k^C^mFsFCEW(qjQ`k~cMaQYMW99Sy^4wM_Ndnu{T@?8*9<+riBPx*knqIca4= zWqT*J?fk{Od)aq&0UZ_t*6Vc9;IRa$?=CZMC$ctjt2jLTxU$VPxfk&&-4V9DaFK7=HA@LLon{-s51!`YKULtX^+^w={>B zC+rUv@rjpAKF=tx%Io&U=b-PIm&!aicRS!Yo8<^?z&pPH8Sc`UN_FMa?>cW*E z&qSAdP{WZ0-Xdz%W_zr2-fiL4!K`*mlO9Ox%HrcZmnV>?z{Tk@X_KWx{XTuy<~~C& zL;Ny$4R}TP-hCeIA3TXqh3|Ew1xk5u28H&=pA=ckM>_^P>A!g0T7iLVdu!+zMajZ&YI5U_$uNd6`fXcWL|?%M$XvZs$~$l2VRJi+ z5Qwj`s$cXtDfPhSy5*d74jaL$5!u^_hu}9=#qR?NeOucQIU*^U*VpHCSY3CC+VQYl z&Ax$^VEabj`1!q$LqHI0(>Cm-thO4HMp_p4%Dh9lN{8r|@$N zyz}DYt6piS2PTQ4|EJoK1kjK)mX!sg{-mM7zJjBGL3~o+pEnpd4%pX!(O_Uw;JE*j zRsyH|x6BtXuwXMV$bZXdeTM&BF`v&T`rjc$To4%4=NroB6PW$we@K7z&4&0NH26Q| z025Lck(B%ll@09y0BZ+R8^<~V!v0SNjID&G0~ip!yN{UevMz}k`jKU^KFdYh>oFWhX8*YEGCGwb0+=n7 zRcf&ZOk0@Em#WU>OQLEQOy`MzKYX*r!4i_=uwGj#3u;^qL#L5it_5^leT)HXrWeKi$$Xt?HFXRN&4=hMHq-CGa-9|>`sOWv(fDuu zK8G1Dd)-h3aIoQx*N0g?BiDlj1Xhn9;a7CpjnEn2OG-*o?b`=`I7B?H)(On6wKzzB zR&&1(RX$-5-$Q0;0xqw8R$f4tP_1Ul0&uy}@qo2F__ED9WX4FT*WOH4+CV?admF*~ z0lJ;3(ib>hZ)^JYVUon-d{%wvyUV|FKCiCdkU?IiUe$PbwHGg+WCMJA2;nSmxLp{X z;t(GlNwol+wp!U=bqP@^umbO%AH}M?fseT4yPat#R;MEYyVkK^`fpAT474W*T0{}f zzBdbmsfC);(MY}%Uke}#bh`V};y3AV>o2NBwKaIvTe9$ZK9n&GjcocLGxfPQ5qy)X z1bsDnTT*1+kA1b$l)doK7;!qrZ&-V4bCwz@j;(c?7GAD13qUK@&>Z=(su(s`j?N}q zj%R4yth6AHMdMW2DRi>#sy$cyI(FaM-Pe1QOh?gw!V!Vs>K(i>xDtX5KQ!oL1AG(22ks|8$~RolW38LXKlo=<6V^d@<*+r+Vne8kOh z)#d*xpjIkX#iiP~QV7=7@RxxOfx3n8co;fJouxx)Td0cfnK#FRi%Jw$Ei2H62-s{a z2nW3004Ndj6%tDycz;T#+_{A%8T{S8-V#&`)x$jiM4b z>JYmEel5yu)*hiDxuu7nK;I+QKFR7c6B$o2Qf$G%hIEh+FD{$ZV$+e9b6786({%Cg z1zTL;OKPtInXgE15IkTcfvR?}{isaHl+AQX@W$w>U+VUj;cz0uLRYTdW>ZhA-qc{2 z<>UQKOMKmPm@HZ2CI(=v;Z9FKvzmqN^z@M?P6^ZI@o4Q~O(B~`3Nju`A=>o3jhxz! zRTNPy-Mh?i*)U5i+#gMzG;P$3^X>_RVb>3_2SySQJaw7RmnI4jPc$+P&TnGg~=qx_RSx^sP&liggs&2;EMdD-C*;Fsu_~ zX_N~@3x113KDRlH()*RmPF{d^O9P>|&}SEhI{97;WFq5^0U0H)kCtnMJZfLX@_(!m z5H=8zvs!LOohy!Nzbz7`UZ0`XI*gxWb8^`q#Azk#lEGg}wda}6MwopG)o6C#0zm=( zHiGBy9CxQP5MwnN?!vJ+ zOg7qQwien77WUOWuHR@@lj#y`nsjgzoO43KLT8@CFUf2|w{Ba{UTx0AI|L9v-1QvJ zGw`Uf>&j=+RZ*;B4bS(Cn?J{vXp-@n@a(64fXSfc#i9O6| zY%Q0uj6F;w=agDp(>tHDr{n3qOPW~bd#!%9yap< zYU+c|yOnA1TYm0p<+5VDFJx)#$<8)Dq;9a7Fw_*O&a98;i$)jeRgn96xGY&7Qfd5C z>ZPDdOZZyp6M^l_RipEe9ARCN3XQjKGY1Wi`GPGXmo3BjM4MF6YnXL)GNYAF$B8pX z8&GG)%x0`vqL=$=^efDnCR(Oi+=S;2Q;ykoA7euf+^jZDUXFxa99RxaCELczKoT~Y zWav5JelvA_uLg8xvmZ^4pPQd|ZD=DNaGh31v*V49wk>L53O^bn71q>(qzFfM!t`Kx zT=F{O@i=@w_odKd;{MSSMja>}@8|s_%J!Ww8fKLrkc6;&Cc#jC9GjlXmB4rRD%+K% zzg!M`vEul#1U?|ePg%^is2jGtMq45kUyZDVVxU_LK?z3a(LQ$;r(Leo_igAclKZjH z4hFuLqr67{&xJIL_qq=?xT2R9Marj>vnLJ+Fi%Qw$P!ScW~aqeBz5f3&1l~f;ANB` zhfASPO#AT?bLWg7lvr`vD7{~Z-X5ne^L?#1Jc*9>=O`5afW!VURY7Uu)lPm>t({w` zAgv)fE*{>6s@lg}Q3P-`#zBlqwb@;^#QsII)}jl!?X?HYY`qk+!kz z@#<2pVSP)Otq~xm=Xx~qcTw+dNdF-xB;1I``$Lm_)2E8ef>1@8okt87hwXBLt;}eB z$R|HUQRT&|ze+&s3rADxC7A!8w-|7$pkMxbDbK$JsI;m&6U-L7vt$~_vS{)uTjnUU zIi&n<(DQd-C`PSWf_uU?z2or2e)1MvzResYHU-S&Ph^@k-6m66NW_VpOOl{lU_Cz- z@m*KbJ|BE9s}upK*IRpOvK?`hrDfdT)G4)|*D%%0f>3n}gIoHyO2Yy2C&p#2m7Y@a z!?8TkM9w}je8#McW0;xjDeUoabUi#snD-w;l&QV*Q`0MgwTD#GhEZq&d_N@O#~Ny! zwmqXkbQ{ej$a{y-G@VAbTXLGjq^nUq%<>e3sfJP%qcW=4na-VS z3YbM_G0V~R7QI2~`Uh5J)1n?J6 zQiXUqpn}<`)4CXo+OJf}<*0dt3|Nwn-4KYW%%emZHF>p{d< zRx3h8*FVZs9)@;Y#6)Fz?svz^;Gi6`k+A1xY|?!{9QJ0>$ob8_~mq=B7QiYVimR*olv7xlf^xF*8l7G_JH03!k{*Olh2KA zmk*|&C55kFT)JW`aW~)OGB^`QKLZdn^CAuS-8!aVLat>qR9#ltI)X3{d|0tSmG#!x zWvLL{6VC~Z^W|G$n$)qkQ0uT>&leQfs0blK%_2!MRFW2 zuw!Y#>~#R|X0FC&<^E#8O62r5O^hcZWxLGyTNLt7N8&!aF_}7BijmopXqP{fFly2!=g} zkE##PF{El|H*Y^oR?wZXy zvl!M7Iudc+qr-1LJX>$=r;Z`A>KfTx&FRClrZ3HK@WViN2%VXZ1CnFh&ut$fY4=Wk zWDyl23PQ+&*oO= z%c7)idE1|an!KKqOc|b1lgjC&$xd3gFf{lPo8cz?k@`V`T0B(T$Z&YzYix$`oW#De zT+^cmH!X<$y;7T&tKIGfa@k5OWsgR4DD+!vKdN zl{H`XK(7)YrZsRY6P|$3M4(agZCV%ir_^E3J1#UMEP8LnK`mf(22a;(KT#c4;J}

DEI#UdRgsw4e5C^OyOKx>wgfS zd+K&vkUVk;{J@vLspfRF{_FGp%>F~2BGwaeQ2Ridp~EN|w+S&N?r6(ngepiOWVU&L zGk8nhhB2RAn0^tde3$ z#8-Cn#`%_(?X_hX)SBH(dDp6_(tOo<>a@8;6R|#e5~81{L#q1oA;&>2zD?8a3VL zxbUxv^qRGNk@%G?hhm5tsVlUb8W%mv-K{iQH4onEG}I=bW1`y{FOrr;Fh;Tu-($Bg zBN9~y#BE4dn>?~;aq7kfp3h5inBUXQYWtsVB8_m9tZM-Z6Hiq|u<>mMEjN2NJ%^DR zmLX+BlL$Li+DNAAiRnqvDxw-#<}1Sj6KE&wXBABTzzvB;w|NZhVAEF@o7LTUCct!# z#aPy2sb=tmS26B)AKnjcx5#4w&2K>7nFXtljkkjzkkyq6!17OB>`J`p)KOy#QO}1v zmyq^1`&Y{}a~(nKFX#bV$~VbYpzBfwt)ObLI;(KZksSsB)CAinB;%u6Z(2+?^V%N= z{6EZ}7BglZ`K2co+Mi(CaQD@xTknPQU`dIMV8WE=nsU5diOjyMK&uVayT7xQ*i8e3 z_8749Yz3Iywa$ z1TxGd)XF^{clmBGf4gn8*|;L3i!cxd&|LqD0**N4i7mz9thpzPzoYo>)LN$f=8nTf z*kSc4&zkEzaX%fzBIv>rWj+~{NE&ksOOPiv_*A&OhxKqv9KKxE+BHEbt0|pR#sqr6l6TC>M0SW@|8qc^TrEG|0RG;U>SwH^)0;bPl>_KADwdj}F}& zM}maR5#!xZ4({L+6KfaHQ=62mQB2YQJ^X}T>m{;{#7b?*3zzy z;*|s#Y~B)qH1AT~9ROuQb(jOm7#~2fqou6c%bgXuuuk`BH}w0!|FT>O76cb6+AfU5 zZm~eSiWKx0v>Po@UbV0r#Y0b}N^^|CfZ%DHuWmPTiwn6Z%du`0tV<(wu$h&5iqv-a z*CC4c^{meS)SqRNceb@>irM}C1mFcBbhGg}8Q@qBmsqd2E)So!3)b}*IfDp0zajjf zd^dP2RwZg^v|guvLK3#C7~pRtB2CqR-I=mM8bK5Q*-j}qKIHL|%R}?(5LQ=wi!vOH zN}QGB8Al28-Y*#lZ46XEAbTd%e0{vMIeq>#!wi=cW#Z7e&DpB{$yGW?c`IEM9T8>2 zl|njcBnT)*XW}8$C8BeCRxng*@%eaLd?&PY!_Ju)u16gzz|?aUy7D_~k~lGu*pL@^ zn-l9r|6civP*?Hz{dQ8oenHd3P4ntYz=t(lGENRE0Rj%|(C^v0!<^`^LzYqK{WY7W z93a9CE^AO^nVClcz9XyePtrWhjNvz>F(Yd8FvG=4-E+2r?RPRM+m%9;^9avuh=^N% zpzcTjbaX!J!(lw$=?QSzhfkcw<%!2I5c70^VjW@Q3% z!BS6 zk|*a0Q6ye{!4Y5k_I3iine^E0fd+tJ^snsYht(;o)aeOuvh+SWB0Z+dilFB4cAn!; zJL3yb)mLCnD&Ig~7&3eS^W|XJDKsu}RO%ED#jyOp_}jKUG&$W<1-_fv>R9<%4&>sI zcyF4vne#${9^K$4EBC=!%C+cBGDT8Q2B7GyQLA?%)0PT8Y(6e@2h=Z|oO8Jt)?!%q z$Bjf@8=<&Sh`sK1Ot1v9koqe!z50=&NUUx?^~$Bt)Asf;SdlcvbzuY!ud8Xo{R#oS z_EV(h)g-!_=|t#-`WPiFYoaTU&>Z)4+r#mN;5>Ln9~sa5Lh7EsVkHD=SpzV-m3Ulh zxEK1bHx}*dw*sz%tv{x~e7JCu&Y1Pa6!8p^m=ZlQvDI|ESv>Jp@n$5kFs30X*=xw} z!xN&aH4dq?(p-CX`~BMEI@nXj5X0vl&ZD4x!c>XRDTUdOzma*!q%j#W&`A4wE@oXfuJN>-KiBuy0L znEW-ZavG0#mEGMy#6S5vjb}D0x}qpClRZ9HKTJZh&J$-QE|mJpu4F>s?u=Q23bK6s z`CS`;A^}(1D)HAl4pp|!Y5U8pAC@a-g-36N-k`Pyz!UtqK=MFO?qQgJb^-2n^+~al z?TE`ysiPAcUHA|xY3QwsoHN2_);oh_Q-E{m^ypE2-({A_#~B!(e=X@3rSiegy(`di zz=P{}UvxOk5RDk?6a@Bwi+7LN?wE!NnFE?ug)q856Un&x4SlG5c}eaAj`$@Twc978?awcrf>rUR$gU9S_r~1A?#%TX#Z>MM+H9CE*_dv zxQk20BDO%T)EIvHX^k>s_`+4!#90G7ApsDk42qM8-2pgbg>_HzzmB0O#At?MiIPLw z@(Kh+h}W)Kx5+B77&qjU_x}VBdeML}3u!{+f9eVXf^J5YDzwhiLy8 z5eXFfEsP;@Bt$OCd_ysA7|mx4qdy|l5-#K_^e+5Vhfoqq+!pkVHK^yq2l|s~JMxE< zM4ntTk45P8ORUQPwh1Ix2Zb!F$aa~z$xIGp!311DFjz0ySGjA&a0>I7cq}7=F!=`2 zQ6nsV2AIE?5$#I{9F|LrxEQC1ztL+6ZZI3D_h=x=&mUS2GwT=#{$c`Y;zU{ZA%X|+W=?R@!{oMICk>j)i|Dn}v;jwQFw=!cv_NfnRH)rJb zxx-EFrz1(cVw(Ot3pV?wiLps0Y>h$zdRRnALs+8>*00N-*%~#2-s%c;)`#{kPFTM( zy6#P+j}}JX9a8uV*Y$tkNF|@HN-^!SxIS!tH=14oqk_ALmC-+O(lfN+dvy?T1|V5;)N0+N<;mL4f^8r!;AKeBfNk_it>|fTOn25>^E3{ONJDXf zk`doHI%P;E`ruI%+qC_Y5dzag9ar)CNPrt*5fMkHwQ`>@O#+xWWzhP_{!{ub^YvNk zr*&EEO$2%p^no_!7~))omXluuT*J9^@)Ds+N6i>D|Ljo36gv`4#znYurlSw@sHiRB zhfyVbl(u9?;(*P4wS!#z_F;xKId{AELNozx!^&`dUU6#wQtTL0EZ!j7du2M{McM28 zK7e3xMP0{&;-p8Ph6Kv~00C%YKh`^OZZ@o+@Y)Pz<~aG5)CX|v;-9U_@sV#C{U{CT| z^E5&4ZX7omt;Px<>OujB5x@13M&wcgJi!JHi$Rz;SsNN9YE~7ek#{p>@!x(BZeI&j zRoc$bP^hIDUGD!g>7~JlQ(zIi@Uk4A-97hq(gY=)5=ef1PX8_DHE*i?b47Qp z2c_BV`yR5F59#^B{p$XkG_Y~cCMWLexrga$c-pFqsF=6V`|mNP?WU^B7u7<d7lOh-GKN!*a`cP=dhatj`C<~mgi{PNNBd*J8&rEcOp%3_(7S}Lu49n=l5Cnf7fPUE&@u)E(dW@V5aUgz zM#QGLR=Vym$@lO?lzI&27b9Bo*ObQ(q_ST*!6>b*2%x9doS?Y26%aP@-y}2&M!-9n zSAL`ljar3NS%%AKecAydf{YF0#^F^!G2HWO#oYCLR=ua3KGwehFs`j*XV?{ZOW7%2}L`*B}|t3X~|gdOTcwwn(wl<&NW z%fBq_T3;5OpSZK*kb?&;7SUgNgIBqf_4^)rNp2}vCDKg}GEVY#45d$Z1TWD*jr9QL zP5k-BRS<`mGT7;$??HMowdm|mtsUv4tj!Up6Y8R9)eR}-7m>$Uh=P%;6W z9nVUuR@XUr{Dz=XqxUg3hz1_W|C?R-myXYBy~h>t)>X zqg5R+S-ovnfv+X0%{5_|1smf{>7Kxb_(V59A{wL`mKQ!_5u%K;zs_P35qs=!sO8h$ z^Ccf(laVql^y}xMF>^j0*W;u4DVb!`QLN{C!S16M2~M>hvtm3#Waohsb;e#0?_fN6mLhUNWbr}l zfXfc@NwLQ@%$ixM`sTYCQV$0CgH$n-F49|>JdvESnnIGdaYRd#FHV`S3uO<3tw2=T z)I(M`qawBseF(1iiKwKj`{Zz*phx=W5$XWNGvSLDE2k9+>K^CxSk1*dpkQgbqM12m zpyFle+xwlu>pSeT$2uma#4!%pc_oGkYc26tcC19T9`U0c9LtO9pX?h2HhAt(b>Ih= z`FgsthacYSaN5N7!ZHO(sh7Xfis+xC7Gj5A#&ce0v`^Z8=N`|DE}px59@<3lLLzvL z8!N99$GW3MN+AjFeUz<#>T(+~kFHF#9Aa9otts7T0uT~n5X4KUZc zrdOQ~y;+riH+K(Fgv&+o={FB;M3seN3V+sx&bIw?WiwZ-i1jS3gO`TjHWvOpND5;S z25Cm>;T64G%Dl;Hbs=3wHoDRy^iUA7F$!5sEM~J__tDc;^p}tX z$Pe>U*NV-Kq`w>5;cvr*nb?JhTn{e}@ zrS|**^marXXWX>rr+bOjt4KyxY$z$oewK{Jr}2s}7o&f5M8LaYk0GAP>En5laq(Mm zLz3tECWh*0Go!*yvainb_mENmQM%(7riW`GxSVjQu+TL|a)9#B$`6uMuQ7h0gVWY> zfO+Gu#8TssXIy9d#xzWQYg`U9BJ)`mw8nUXGeBO>fce^~Up6UK-bce~u?W98)*kgw6065WIo&p*z|4QlICvqzu#bElvbe7w6Gq zfjU)769_6#SoaDAElJ(X)6NOB2nmTtOiZv~`+RD<{?a`|`aOy^JKX&?w*sDn8{$~7 zo7;H|0Ymyb+s1y9s803%0u_}Ecvp!Xh*yNYWC32;$8t%MdblU=ezZ|;CvMRo0B$0y z)4(ki+2|5>wmZnjYHq_)q#WNu!cJv6C&`kBILqlkPmHU$DiQRj&-!+yZJL156`|;=g>N~76CS#LYDdQ#wg2d z)aO~Tnd4w2d6O4H55}E+>bW$@lp>{&M@M=C;93OBCieR}GX#&3q+D1Qy~}Yz-*nCH zd02l3qe^4Wp{C#CD8ld762pYox&3p1E3}w>rTQ&aYY@S@%co{FnkKT@9HI5S;Zvzu zLDtOKZjHPW-R#z2hVfEM^@bpcnN|c|C-l2u=HW1jgAE3xgzqA8wjvK@tj`DQ{9(F^+cdI z(m}Dua!|fFc=@3a%rB=8L2oVRa!mY(oWKR{=hJTY`uZ1P^igpxD^zr=VqJ%EwxqoR zKB00J1ENv~F`VkVrr4?a*2vnms)NNV4QWry-3OASZKx!Kd?v#IjYPJJz_x+SL75hL#JOK=`cfGuYky)+7r$Gp zMAGe}GW-5|Q|5k-2&tImJq5R(;1Nlte1KW$jazqqL{6azaL%6kGHU6--~Zxgks@Xe z1vpq09FBW<`i^UU6mG1;OPerPA03@^$ogYyTt(Mu}pzt6t!~?HrLu=QPIc zX+h`dI5+@hvMCFzTe&K&@O!=2o38YNDWBbSwn$!Crd!lE4{6oPokgYL znM5BDxx=RSc&UjZoCuoXhN#Jb(Vv&F^-j-{WC}MY(4GYkGPWNaV1w795L=61hMxJBeXIcz#j&+y`S~OyWARwqu9!=WV3{=0XIAA z@b;LP$T=A|iQ^KLpr5yzk4OaiZx!|YRVCS2^r{u23i#9PPw%0uX72S**f8qTO1a*i z$UptqJfSyPCO+MS{XW>gv>*;{3(4e*%NeP6V0ptMLr{5fM&w*K)BXBVDhk&G7Q-8g z!{Gu-Ix#Yf(JDQFAO9}=Jq}u+gBJ^>!F8xY^d|q1HLax9bE94G(z@O?@RdSTxd=49 zBjU=kt!4Tu*ijOuG?RM;+72e5%?ZZgx?5t&8#8r^z^DYA^f^!OAV-bD1N&FyDw}s; zSBZRa(eEq5^)1-QX6&YYm2d;5RLMA3i+#Hhe`EHj&v!n-9J~akkP(Dv+~dk}3xJmo zYSkSO?Nix-3SY7C|D3Qn_6Z$v&DO6JvUUW$CQq-B(+lCSTT*(xKHLwfL96#D{>(!$ z@gFb+D2p*K>baYlE;f%`4d%V&j>%8XeK0Wew@VDxvfVCt?9o}n2~#lL7SZWYGaFRE zB92gN@Cxocf2uO-_YBsk)N|1nJdX2YPI@<&mxyp24_}1Ui02W}t*v(JtY;8etj>0= zPfZ2jgyVv&PQVG(;-UgZS#OGk*)P_*@6`Ydmf_^h_SL?v*DWHEVS z?NA$x^m@^T!no}};NKp1`o(a(|S!b!F+jzGA^=p zIz_H$VCo7*79ueDCAa~3=Sjpao%R3;doJS^@pv#_9}AWPlrZ7(2*0W+*sf6syOk?; zju+kUkV(kcl>dw#MIpbUU;EF8En0>d{};Vdan_NZ_6luldgrB=q#@79mT=N28itHt ztp;3rL;I8cGm@H?;W6L=)lf`U}D8gg%E0FuG`8sl1PO$P-EK(NgJD$t* zkgLk@?nV2je?oCB?z#tXuKg)&iW<_2B0dNXOA$OZJcoMmH4i@I2Ga(oW02gQLH;gP z3|*1LhKWRjaSig%O4K|}2cZ{+JGl52>@6*0_ezq}YP;6KNW8TD{_wFZY_N0oB#bKX&?l1Arnt!=I|8w}Tg0wdo+-B-V2^3)sfD3{imlFvM+d)Pl*EC#e zlCw?J!+%;-VV2q5aR)=MdQq6aD%a!x^a9pHzI)lOTe$T0%b;YeYCWOmiN%Od6P^Ubdmrv?hpV&wN@mZhoQzo`!7Y0l4RIY}5o-F4Y4AD-2T|P#wVNN>DMWe= zFFW(k)t$C+!to?SrqhTDa3NO5*W%F)SvFg@)aV2xE80>Pa9u)5DwS0sxs~IEc@Lb+?ymxuHTyT7_n6%WYQw4*flp=OjeQWx)U-B zNj&;@CgBUw!(vkE^0@E#M1~5qdtL7V{yYe@$ctEJngmJx?JjzC`)d5>KKRdN=q0ZHEfWMDQwZm}uanh;UtGo0 zn41(5&2iSXh2^#vz-Oa33O2pYpD#X-%e@)sY1$Sl8&}~PjK4IXL`J3^4j)=BRkDHi zQ|%dY<;lRa4MD*PYoa&4bJC1m=_ItrR6m(mTA{h-kk$@tW*od?WaVoFtX|acvuKLH zmAzXIQ{Y2D!4db%H=A;uiL4LtC-{{nEDYaDVGHz8(${c{Icc8Wl%2ct`fU9;;XB`X(wc1{v0E*3uu={A(%yB1BJr%SYRO$bcZZ*R#wT+NqnnFS zG4%%7z3DWPqL|ZWXic#aRhl{thSa5zBEMT7N7z2NVPA24lxE4}5#{#swai?070>R| z8*SV)$nLGnDO5U4!Dj}C!V&wwe8cNku{L`CR%{JlWw)YRb&s3T6jE-pF!)j{mCPh1j5|Ru-=Z94aFf1qYf6bC z(U-GaDwVQE-SPM5_eaW=Tjiz~1XwKq9=^yeLjwxYT9~@}tOvu8F?ES+t6V z?viY$=;Hme4)-C4yaWEa>M1HS8ejuWze)PH`AU$g)Uyr;i5xMZ;S%sZkHZ~cGm%e* zEn@Y+#}*72Y0L0qNVT85muu~eY>zSk>jVD}#@;e2&Sq`X4ulX~LV`mhL4rHMLU4C? zcXxMpcXxMdXxyFP?iSn~n(1eMYuNWOSCb@0&bpWF$hR~Y;EZ*Aq{FOrC3L40KeF}RD@J~tFC8KLOaKM+`ny<@ zgM`O6-iCXL(XS?F?CumqRJ3k)M&=%Q)rjF9rc@Pi@`3!ZKw;~&VX9fFZvwVlXN5Bh zsoWk}DNUaJ94b>s@er*EiBF!LSd)DVfw6M2vRDoYTVLpj6Fm#E53dO4w-#Iu-PI^y zjV|1Rz1j#@S_`(@3L8S=U|&;_(DIWk04h`f&r3c@XzaDWfg_RyZ@XA&fOGxSLX=nH z#e&wDJWtUf)`J18iaB7W*5I>7*Y~Z(R>h{BnWOZDx_sgF5~_7sCE+<3z2kUMJxBW(O+J`lgD_W zkhj8S?NgM`y{rcNH9+oDa=cGDEEyd}p%9a(`hAl5^vr4p`$UeHcW_L`3Edo7XeNA3L<7o_x# zS*_hyO)(p7*^BKXettNbLoZypr3Go@e0+hn~s>?OWH?N)H1P3j3xoHPSCsd5Epq2WOE(Zzx=2mI5Ij(#8hmni+uVjuku+K zZjT<B86^YoxrQ;WGlHm9cMl zN-M$yA&)7%t{{(jXdwxFkzwhb`5^2KS4 zlsJy|Bc3lo7oCXq#If4x<4dUMuDem}E0wY@+Z#|jSz&8%A-4*BHkIms0|IY~zyYk% z&NOnm`O57_#TowL0sVwbhM~w2LoVpwNk(nvrXG2P{RlYG@xOB%i;@SPtb<%+-KN=| zZ;wbJLAPutoaqV`dWpx1dY+2WNM)>EC1OOin3aU)3wBRz-iI}Z-lz7xcnR(YI0Q6np=Zf_iAo#6rp-I87{i?)$*(l|c(EC}-W@ScV?(YVu z^YY+ghwgWO!E7Fn`^GblmG9wsPe$|3PuIbxOoObk+4in)J5lv6i@)%AlTV=WdS1WP zpb=FoU|Kcq*_HYW>eZps(}y?QF|HYlEhRhVHr9pywb%PAlBaR1=2Z`ey5!QA*9H0&-9Bm-r1#Jpis3Y_ zOSuMXKBCU^K8mX@fJ|+Mq__Mpgl*4hAuP3h4s^G3p>$1!oAKlQo;N>d0ggNj0`%Z7 zl49InbG*mWxPJd-$XvIP{MCHf5Mznfk3@%6oBXC7@5S|T4~Q)KvT6($0{^gK+>(Ch zH5v~onT1I%1m`vKho!eX=1l{DMN153?dul+Z^SaDx3VE-!>cj|p zB$cm{&&9&a6_M{6kt4DCQmRE}se2Y9>^e(Qym1n~WDT<%V_a2d^+ zUZG6-;|I9q(=ZhTh8bBpb@!>9cdA9NSjJ_Ng-FK}IAqd&NX86phliWctE?5G(z8!U zW3GN^lz zG9KXic~J=@9!JvP;Q6B_L(x|5&AKUfKoAn-q`DJ`YG_0ZXUObKR9^K+L}h@!d`9}l3pu-=6>7Hea-|?89YVEPuXDb9@!ym`Zpa~S39jt8?7h`F zFRejo4dL#DWKKE=)kWok_hyxeSe@#DuF-K~jdSzR=WwMZoAvpUKH$8QQYi?KX&E55 zKXY!1p&JDKEguv5u@9B^E4hiHL}8XGZdRa_m`SfweUmGk3R(PTR6@&!Ta4~Cg;MJ9 zGrhjxTjQ5e)9d9Hk(^Eo*sD^&lZgWk^XOyudFW-x#ZSxU?pEk0{E0?y zflX}Mh#^|`z%V_>*+|r&IvvS4og5@bIuIElRzkats{b3-;V%~OQx?cRo#)z|x* z8$9z}f(+-C&6zN2EA@M<8reBSkxv-rlqHPh!g4NXb64!lH1cmhQp%K=@-q-u3Vr4R zoecw%nj1foA`V&>MiT><_(P-l3!(4$0{_Sj!kYw=PKCGgIRnl;01dBH(X5X71arBfY=n( z1NW>1bXZ;KyGZia`QOJQwY$@cI(kY2u{n8t8BO>zk4f`rhhyVz-9%Myd;Z9hm-IN} za)I>EuLjE|euOF`$eKpe=LBGL|7 zQ$!C|x@FG$wOb;}XPUepdySyGSOuV`2KoZk zPOPHGa*LX{g}Ekx#Wv^U0lBEs|LFpt0k?H!T}sZ{f)Bgio5#IQl#s8Jflg^p{JfwE z!5GQhl;vbjuHSTV7v;R4-JK3s03J8<&2P+>UB@^foO)lZL}HUk={Q%NVV-Iz+<*MQ z7@)N_lHF70df~o6OE42zMqBr1hrFk?0A(i~T?CM6PbA zYYohok>nk%g{Ln&jhi2>O^%(aglq*7ohp)(F7({9AGO0+_P~2)o1AYNZifG4uBI`lA3GYb7Kc zi>?$?cbqWoH5U@{<2!!15$_SKSg1b^VBiXSXrkXlhWjdztW)llf5}Q3FJF=nhyV$o zdF+f#M)bj$00nYGAWUaxGJYWTV12n{&1LMjHP|i8JS~uOa<_^Ll5SIJPp9 z1aUM@dd#%8Qc}%Py+;{+=~a9GQ7p*yD;B=UM6*(nHN~#LGLTxgbo1{Nx!6AWKA8-d z+do~E;_a`y!R3=OlJXS7BOaZ6TdbgcK<*WP$|Hp^0kq%i^#}mLT<0s16}`1J#o3=n zijDPUDwndMmlSW>APKC*aOBZtcRAi+llMQJWEje-K2DycEPu5nCfyDU9l#%3^We-J z`3d+4UWXd`&h~6M>|vd~J?}nLpe)!s!N*lPAAejgdNb-7RWZ)UhBPNMVz6XhyY*Z2 zmW?HFE!xDRMvu(@#1p#%Z)GD6U(MHO)Npf;*Bvv)UGK$~o2;vlezjJ7wVCUGoSC4` zFp+FBq&6?dl;N?NuLE-`avegeUA;{Cx7mnJ5wZ~o5(oOJbC**n?QE;}$b_2_qD_^? z5Pv=FF!3}%eH2H)VM=q1{Zi_z!F`n}LQ;vxs0m4eY9!$C0%MkPuwt8gFAt=1K683H z0us`z2pGrl`;4DX63?B#kd5wRm+6d|XkWw8&M??v^wpXC+LS>^tRX_$-LQVeW_H6@ zuGKd(ds?H`>kK1~Py31L^1)%lRc!&xJhxNa7bZub{MRmif|MGpuh;3e;Fxwbj=^*? zU}E`3JUX94E+`c-loMBv?#alUHxJ0t2vNd1g>|wz3Cdy7_y3a@8+Ws3l-!e~`qLIe z>~>{|#VWp%#mXPxU2Mh-WY}J*H@>cPn7@<13QPzvhcpEcM!#oAeUBDv5W17#A+{b` zb8NaZ33qoG3OB0v8n8cMBa(^B$6cpGR4%tn+M(QDM0y*Obp6>cX}+}9`EiRBU%v4u zAO^Nb&tSvDMs=Jh2JgX}!P3VV=F#ibKI(nBAb_k=u6ow^YH0N7_g8xi^5MVxqp{U9wFTh=*tv}Xo(<%N=HGF+J+9Kn$MJVC@|N9sgps+pU& zuqn10K)^i6Q?uMBW6J2vF@|<_yo#SQ=9A;B`Nwq~u3(M+uoH*q4F?B( zs^4X#Q0!J)`YqnA*bYFyUYxbnqP5B~RY-et0OJ&2cnB+U6=u@9uE~Ck68m^XDY!eL zvO9OCDUdwV)4{EjZT+6CXrVL`8M{IWL{(@(k%YrKR*s0%$e7VI9H2(|YwxA8O%Of# zCR6ji;hZ^prJcJ(oPw6;Ht}dseP#(TB=;3y=oah;`Yd%aULp&<{&`^IVM~7Yp5WZn z_Ea%W`oWm-7nEJRyDHlC$zWct>x@O(xCMS<@n3*Jr2r98!sy;Bu_v~-Z+R^Q?q>Aq zCx++%nP-WtWZ$x!SIi)g_Lv?2FQdfQdE(0}-6A`?D_e-2VdXoep+Lw~fuhk*-tQY# zEwGBxvFfD;Y2D&)G5lcue4fXxfQ5O#1wWv8~ zh48GyUS3zf*YU~)izduh;jFqKF==W9eNXk>6U9}y?NV>zK7k8n?{*fSiK(uBBe?Ii z&TS0i2-hu;a~vB!H1^Hm5L*@$!0R^dE^QF*vvwh|k5bt981d+8pBa$9X9tI=xEhXM z=}X2v!U;%FS)|d(w3jpx42nJ19PZ{2&0Gwg7(d2_>DE<8c`_z%p?wdj3HGeP@hPmS;5zaFHY zTn|i1v|d-{^tm&LMf{W%$3v47`$2R`w!;0OHD92UnB}RI*VNO5=}2P;{IPwPga9mX zhUTKctJqb_Ehi-a<`3jcb$U5M{h?VUY|5zoZS_9tp+>l1m3C0%AsCAPmB&W zqTw?q!x{e0Jo%8+VmCqKJogbVP=E~fmPGqpB*l*#Y3an)es4`+3*G5uQiS!vkv?;BGZ3%LED z<1PJ9nV^R$B-abpl3Pp=OBn9ZM3lZyTX>!JZvL3)`E$sTB)8bwRmCQQl|b7O);O6l zU3xwb2;WB_XsmvCva%%YJnMPJg^N*X#q5CR*x4L~@1pTpV($4JSVnsgsM@KfKea z&=#5lmPqRX>F}C$3`#&IJXu_Hbh?Q*Er%77&yZ~hy0|?0r1wr8{TwQ@A(lB4!@!eI zX_w}VNzwM`2S8W5YiW&|CTniJkkJT?W!*5y^*Go9=2doR^&_rK_R#oR{QL-S#nsDH8Onv~4@g2|nDvHs=bmZ5 zM1>Qp^WD-e^gNU~x1R>^d3&NVQ^6?w-tEl20v_4RNH&YgvBv zDlTWYLZ0?`FFYMnK3+O{{eXwD1qVJT=S+1msd%iq$k~|znq=m?8BW<}gw?DALOm{p z@jIwDJ#g0l;_9b^e)HSB2NQ9c!)+CuumD#E`H8+j;Zt|69zqzH z{+JJfY`>c1IG7o~TRW^YTV-rZCp}th>Hkv${crv${2y?yuQyX0_}?NE4VjKaq4PVMU8H}zqP1xpgQ4Ly~`KPE7jt19>K`8XiMac;g#QdjO5=oj{zL~~s zGWuFlNk_l88MpAZkIO)BF|K<%Ugn@Ez6AZxID z8i#3iyF(9F^6LOH_Bmy=vcd!E9ANsZLlJ|R6H8wQshzDw32ET01C*bJs1ueQM3cdF z&5jGCTO+ppN@QyoX~ToyYp?W=(*x3%6@tn3el|Oy&I%)vL)qfxp?*tz!(wzC+WYTD zx~(qX4|Ja{)y6_=A-tjjmC7V{S8vG2oFwLj(S^jb>qYAK;BPw3&ObOVo)pdud-S+s z;(a+B4qVUi)P`OY>_Z4)9r_rES%X(a)@HV|>5{FMYWb==?$x=l(9TKz)gTt3ho1b@ zKkac2-kigKSIA(qss{&0->1aBvr|kEl>VO_c|RlJeuJ5M@Wpk>)5g-ML$Y35_`R5M zj(^;p-Ro6mQ?L9>t7k|J9sOZa8K|ZA-zLESO}$6-f@b^6w*l2cCI0{P7ym=jH>?bU z50zPE3+ny1+4X<^<-hNVx8Sx;`&N?vZD{{5uCDrT5S5$>^;$K<|HESTk3BHf3+^ZM z&zD+fvVU6b|BtWfXDQT;-o1>_LOuTfLpx{)fNpK5p;VD~Ca!fk)Lw2duu--9B!QWT z&(Z6z)h!nYv41$f1QY0qq?P<89MNEqQ3WFYf5UV|RO_)DTx;5TjTO802{AYbe@yyd&04EV>)FYb z`ZP7V;})Catmj;BdzqltOsKq415Nt-(}`TEB462BVLLD7!Sjq5^?u)2R~$Zv!>|B` zb&{r={XnEo;kjqtkVicvILC2PmQbiR1#73|aMpeYNjyx~+aIVew^?W4bKA-ye4U{8 z0(UT)Ka-vjVm9TcHGceJ)h}eSy7rGxVy^W77WC_W;l%Ld)lI(CoR#B#U52TwaeU19 zNoI3oZU_+XpHwdTkOOO^Jt(%<=;0NPbnI=ZI*N;>MGi4p;A5Uc>yz5*UTCXbPaM|o zEan&vjqcamh~&;zPxCxTL?P1Eg~ce2$1I%uxW|D%^?JKo+=sBlNjn1(5)G zw%~D`HrYWR9;t8@8Y&*ZFFHJlXl+HNL+8T-Eo~2?L$`OD=1+>2igfOL%RrMk3JjyU zk_7$arQ5k@$Z4izAaZxJY|-%Om<)yMDdW^D2qi9ROyNu~DY`+x5YmykzJJQ`ApIcg zdN`S)F~hYOz8GhZdXqC&smcqq$vIVR>NV~#xe=}j)v}NhNrazDqc};tvIs$qBm3AH z@BfWTJmKZV-Ds$x-tEAVqt+ybtaLXlC&})W zM_PaTVq@tKnIvM_Btoa|)0}thlF^FesE2oZehEUB}-`=Nl>bkG|oXVEBk{{;)ucYn99~4@m;o^ zkkJNP9wO_|#CG3-7Q=bvFoz@$){?8V#OZwKbDbr%8kDlnuA{4rNWxcWcxZN00#81# zwo@rJSD{jFTE5MACeNMAuAj#|*d)m%862VKTpgrXwnwh1G#6X806#!2igMo{Mvy}4 z(*EGJLz$#-5=2%$7+Jtfq;!^D&Bx2$0HE z!;t^QCIsOo_tbpf#Ha*QZ%r1+&L7Lal%GsAFq*W*{v4kTqEsMdF`pBqQm!;j>VCQ= z0HYjB^88Fm`}h5-`yCMmoB(4xnjcl~xFde@th;&c1%dSR${;ZWMGLj%a>=`Kx|}w3 z=i>AF4CePtlax>4hbch?DP~_mmD6qY40_49<-f>MS&%+yWkt_BF`JGsSO*)Ylq$}l z9BDJ@1u2&5DC1@+s<73pkvIg?#J;_th(<8urnO;S&r~ygUtm*E9w{FP$~*O*5<9e5sXfLq3JG@Onm||z*eq8& z`L46wF5eT|Fm0>DVw~nQ0fnASZ9`W5fdJMM4S!r2(HVmf97RB@rQBzpyVj zt5)Q53N7%KSd4p+OtO(Ga=jaAq(xAG{(8tBGlFq#39XeHXg;>82!cRfq+8>`M(fD8@7>zGI9J$SG3sBkZ~7GjOo@og;cWn z(e~yeci2Z*?lNiFqt{ZVY)~9iCa=+qD^FHj zYV&z#e7Fvf&wpZ!FOk(-ZnNzyj3gj~#MP2|SuMnh5@ZrIpRPmpk(KetWn$-+8@}6w zeUWdMOBg;J-Lo1K9fK13sXV-u)5{^*AbKe9Fc8r?$Xn~tVwuS)1_{GZHB!&@Lwu5m z<`uXuZ@}q=dC~1-)*?tR8~2o!J%g=vXwNUn%*R!W)h%gs=bI*9rKZ_NLgajv2782r z!!p-@9@Llse!8$UH#buY_%1e^q(JUeM$>FE8UaKbH)jK`wD@2jx0k8-Hunna6|%l5 z-qw3iZtX8p8zd6n5-^*Hw+GW@Pciz{#OQa6xYL}6L3N$_yq9!T8_I@vZK63mytn1= zN32M9GQL}nU@))YUFKK4r7j&Z3C)QHKRX#)NLB00SL4{i&-Z{vf$joy>+kBOp)*r9 z;OY1TRGBsc!X@V5JReBS9^`d{nj+>G+ym&C1I&|Gf8s~ZKFB6sRAWl@dSoH6n9EYF zLl7$LNDHLV7QlJEG4L4y(xamPNN+X8s=rTcHxjciJ6d#kNwR4rkwVAgw@a4;lBh6 zHy`&v!hxb)TSc>uv(3|j(IXP3$~!zQV3x|7)Xo*yfdaUaNSjC+Q%2Wm;@NoL9zRgF?7 z%>w&<)%+1O5QKR43DN2yj8FlR99VuqxO+Q&1{fYD|1SBuihZm}ei~sYpbel^@Xr3$ zd{V*Xebw8&7dO(g=#>A!z*LZMe4+Br`jBl$*r^Ve#e>zprf~gjw1RJgDa}Fv=hD_L>Z>%?}x+{cat@LFOJkw}@{k3BrfLb2a0SDrCIc0+yLvnpuEngf{%#>+GBTI_933DgTJo-0ldFQPi!)6+S3P z(*&sEy9`AobMqKkUUsbMywh#I(hPXgq1{_;(kVP|P*i+=*IU`}t0gJVwu^?ii*!_7 znV`5-YT_B$wT%**eY(0NeV*kcKD^xc7g{}?QfvQ#+Es8r&!ES%+(fPbc*kq-Je2Rz zIhH!OfQZBY=}e?(s}Kdf_1nH_T*S96ZWMw7lCSio^C9Y5L;VY`PtfZ&5M?GKkcal0 zd*&W$GMSDKT?NvDqp0K4a|uztchiw-s_jG7!OsT?h{z1}`XfQ&h>xWKM3_}umZKdoNK7%Q5vF`8NOFqMJKOdagMa{ufhNBkN<3V zS=oiTWI&@{9hyQ=m>cgD>xiasg^jRlbMdyG-Iv*Fzv9q;`N$!F1@H7bj|1{bW52_b z)p1Jnh4^co-xNxV_#7J+ON-$_WzUUK3~?w#r9>Y3q1fxMn^0Jody0eeX;BZr!-;eL za&-Dzs1WP$=GOx7Kn-K3hTP;NUMHpKK-xH?8JK4Gp9iwhjr^r|<_5lFYqRM3=x$TP ziM@Q&xP%qWlU;^63xM|Y@foRc)FJd$cGta+648h!{ODL%2-U8=moiLF8LQ@Nwds28 zUaUWBA`qGOEU?goG!&*z7I?3x4UX~r`JF5;n z>!#&AZ7rL`LbOI!`Zk)Md>D0n7MbD?WqZn7R_RG=Z`+R%&LKRl= z(!7^sw@RUMR<1tzeWw7V@2F_MPp^AL=OjrzlEz+R$u`t({^vru6+e;aBc3-t?Gwn< z57IJNSb*O@T|w{jSFA&uLA!`uh2*B=%T2PWgDMtl@75X2{0F=tVhwSKiN~#JRIi$t zr^bV#)BRpYhD< zM26vYK!@aKKIR{?o&GAq0bK4Q>3Tk^(th8%z?4eTykqAQI5#!K@fVOnc2R`m#WE5yiDd3xi<9zys)7Gjhk+9z`UOkJy^f9reFgOtkp~-u zeYGmq(T4kJmAHuLSdr{Sb`9ChpfPIWsjXSQXgLp+*oUw!+FUWI0Lf}7A6+?i)Z*}y zVw4HDoxhS0KO_*1Nu~DZnIlLu>vdOB0-}F`xuXn3!{m(2;$FnAM~qOWdr_8*kU48L zclK?M6lD3~hWsSK^Tzfxq?Y^|^tb(Z_r_nen6Sl#g=)TuPw(bkOFtonVNVBghJI-X zZ~b*2@gwFq$z#AKA`YNAa?R)$Z;kRxJlHJLm4@r=TGJGyT-5CTQfw`c8E3T?QMk; z=lYovbl$}l&r>Y8DhGKx(yhdhr6X)v`_kR`q-y@xV3O03V1k7J54&2JQ)hLsTI5Ay zk5HJq zCGhBfee(l~ZG}|jFf7nTh+Gj=!cgs*y*&JC3IxC~z~-r(%ut^R8lZK1f1@pALQtle zqrc)~-u{M>D70eoapGS_^o!;yXJ(#Hweb}LxcKHR=`rU8;Mi_+ppx(Fz)I(RbfWdD zw#%|n0qEKF4s|7NFL+1v+Uo$w>3JKJ$XVQ!vO1|m{po?gT(@$M{_OL^H`O!hngob( z+}x-CUy2waW1XJxq>dX@98@UD5J5=K3sHXc3w!)P#1lA+%V@L!b*Wi4ZzxQ;DU;b{ ztEr~v>|r$5+G?WiG}ee0be?70SroE! zO(a)|dxB(#D(}Gu=xxYpO`Nc9;+~4_vHFy8CoYJk*O#mjtlXW=WJ+?2W%T-01@ZMl zW8a#8Nm=r%PeEUZn zgEBTO3V^9NhOk885sA=YL>(TU&{wiw=8ALOs`W#L7$t859@eBqKUCX&6HD={yXS!c zI=Da37D@*_{>At&$7Dpo3X{bgJvHK)`B-=nVBJL_+}(Eaa9^iTHb%G$SK*C(bx;It zeVZVEXBle~^A#LC^NsK7AL6Y`@0uX@ki;<)NoSjeoEKHTIhC1{`DR-e6b zIvwwAdMz!q(5jn`89%n?{B80p_QPWTWmbUGsZb}I&#LZ8zm{1_>tMV(p^r>TZI|@B z%C&cdZDV6j;1IfryxGJcH)@aGMKmw6OP$7N**?C;@RAZ$0tKMA6K!vrSuwtY~< zwnse4YR%L~9P(tsR{8w>)s+#|J|GcjlvSf>_G62S@at`9!|vPDh%J+dQe@tN)!hyr z#ErQPyr-1s+5#INrq46IBpt#fr>AIc$91uFzbgH@a|DGyJHK2P;o>*mMy~=jLic%> zb11dPP4KQUdvPByAlE7gCccuV#w4Sv*~|yWsRpEG%MJ}zfWS#@1HLrDNH%XX zczkY8vu`Skc6H=EVab`dIkLqdk2|@esy1j6JeIjXDIV9cs28 zc(SMYM9RHO#(OUTvdT>43${MNHx=(2qK5XB?sL{UQkc=|RFC=t@3iN%wlQe%0_4rT z1D}E={9LUL05_F6#)+|KbnwmtzX{!6(bSF~l5EMUGcq;lLwyZ(!qaFFsTD}=SBY{2 z`n}cg*gJS>FH)KDiYka??o%64uCg_vY9z8g&?$#}5Zp-x`{h+j;tw0@7jyGxHv8bvAiLmko?3+;!i6HY~e>_JDp5*W-rF zLahqrDnTU|@MT|zHU!_)qvRIYyZRPE9aK-iC6f7dTt_8zkk;X&p~V&D_iElwAA+2^ z^7<&@eyTW)dLfAnMT!iAFZ5Z7)?@7)&N^~A5kYetP`%9Y^{Viz?PTJx36-6rR^l03 z)vlc909*E4L+k$fnb5yG#K*dGGZ3wDQin#%u<5QjR96G!XrO?gRCQi4kT>5%8Zx$& zQN!^yc2fPOQ$_-Ex4@nL4`Pjd9}~5r<`&Xkgw8k!aJL-x0LI7u8sUIaHYUIONr(YY z{HF+4P2SaV^yiy*gA4BN3d$9Fa6F7WJTX-KACGUb+DXN_BK^EbS&ljuZ^cDlrqT?PJJ=t{*+-D!x7(*28bA%q4GmrE9!U)s*?u27 zEe1{6IA{oW65m1{_6&`VNj!ub%06bqC%0@CH7q<#Wfw&-4xZa|>g;t`KbK05p_2*^ zXV`T95EB!d0ooZHEjN@z;cz@QS!l*gMBhqt3e3*YEv? zI*6Ov<-C{SJny_-MH9IP*7ODFlxtzYbKG#iN(+o3=K~`|1JFkj)KsD6Vs)0tnMkLw-tT_tWd>h0^6(8SoH_?)fWo1f{O7#|Z zmoDmvsk|`bdLZmHuAG#(S(R^zGO?O?z#fm=J~K<*{rZfTe4!WpOG_%=lsEZ?M{eyR zxT7Y#4TX130P(;KeNuAe6R$d4!f?8vaCwF3I!L3-I>xJ-22Hbx(MUK{Xu&uXar-84 z^j?aqlyIT+-FHq=A3(yWV~KKMd)BQ2f$baOZsODsS&c67xp>I?HCQtmIN+Tie;~qgBxutR)%C(Vi$DBOdc;uf~>rF#2rQ`S@BJnFk>pI|8yObac5_5$Roq_Xy zlY@zxt)+=Jn@trt1%*-FD%wvIffb&#^($s*Msi;V7tNRMs8Cq+byv962dMOE0^RvqH+_wDC}wuTpDmF%aAiq}HOhGgD8`I8$W z>%D?9hL!v@!h$SRu7I?0tF;W{>%sVJg`e$seVK0mg z;g6=hZbrhB@$PE_>v)vSKkhw@xAMNi_SO#)4!l_}tt!tsJ!WO!Jh9t9wmjMEp2w`@ zVAc#?q%$hjYAsV4J%0?xP6fcVX2wlURlLI#? zjeaCr9=fovu(A10vZn<+)<*Bu(@yn~0DJSBpG&QoPT_}4-ofJu0v_*aEr^5eCZGtG zJk$Z@ak{t9`5|R?|MH^iXk>)QmJZ+oa&*5pvWRDDw6L2!o3Xr=n$!ZW-`}Cu-sAY; zlQ>mX^HkcqP?LMKOn)Q&4z%kDi7M8DxYTIb#+%jj{eOk7g!T$LD*z;9(lY9L>hnkD zgG|bTU1%OPVj|CsTr&4Utqd7S@m?h(mX=hruJ8bmP-dG`g5B<**zRCdk(I`smtpJ& z`2Y3kHsjBghws)!nf{CsyWQY&$Cu{4NRx#gDYl>q-|cFIgOdX%Gk~e3_Ex8@=8~}e zId9bPCB2ijM+lx3O%jdVV+t-Ft&ivnX=a0>!tRXW=8AxOP6MzE@#YAZo`j@iXsym_e0D->HCbzn_zfuD->36is6F3B!d4iIwl$v}sT>6POq>Lv$V_vQJWQck>}{x4=)`HJz~UTA$&VaW{v z)+M1pmt%ERr<9jS(HNRTv<%vivC*fXY$h3{gd5^Z+1w}Omc5pHOFs|y5i54l`fCuZ zi==Eyn@fzP=bOslYjY5D^b9l;nxMT?N)Z$XU64dVW87F zUM~|&qPaMC)%?#30JHGl`W8l#Fm#(p3i@Y6xwOdp$Cp_p$PFJx_rFe^Y6(FUd{{vX zc945_s!gJUBE>wqg$*W9pY+vNdxZ>VQAp@30g~A0c&qnF>s3CPuOZoGC)PM$lT)&c z1noUKjAj@AR?4+^ZtS)-RB2J*VBN~FR-WPHEBC#A3oU{RRn88?$tcm+5}O?Pg(6c^ z)gh$`7CrI^IO7zW`j0zPoS&Nr+QF~w`m6>av5i(1 zad%ou42v+%nD_82n)9qi*-WUB;R{mo&S$cVj8h1`w{lBNFRpF(vV%*Pxw(rkIbtCq zIWtlyR581cP8J9j+WB4{_os2j6X|L>DLUS*f^R?B`MdsML%^Q*YT1D6y^(~f`u={w zrP!dZ(ZF|Mwh7!FN_|oZ> zJ8DQvD6>mvm8lesoeAw%ooU5hJUK@eOin|-v-lr=holmk*r>}h{`K&!qw^|mu+4P zD}?UxOv_W;&0y4If=qXd+V48p$(;A?B^ZW&Gnf(3P%m`dMy}eWS?nBL{fR3X7tm;) z9ttYC3KpYRSH>`AK(k+z_MA(XMcD_^r^Mh@P(%iFuis?F6uCDX$b(#T-uSYR6S9YT zE1-0=JX}v+P;xd*vfYGzFlp7lryX~CZ25h@y+@>PCjx`POiss&6_d%d(HNTglFOqa zZjhUd++9DyBGsZMoc!AYYpaf4`V|u`HHk1m=`Ek!H$c@-ELQjZ0|*8NW_+W76V%QS z_f&Hx@HfN##f6HCX?QfY-R)S(9S=D!iQS@?yCNp?RjgO`@=m~^a=agxD&TtM9eMsP z($^46wki_jxe7;mFZiQI8?ebez3{6z?cx19;-*^pz%sA{J~>u1)r0~C1ywmT3oS&u z>yq@0BN805!u^fU*ygNwJKmE< z$wY@A-@j>~NG9`87Y_=sEkOwQ4v0znp@yTjlER_s2DPhBuufR;Ni1|_k}%(E&@oAA z(+UkP#YXcwths+!bR-t&N$pG5Hx++#!83%Ugy`=Isbq6oC#v};;;o|0K_#qHKa3HQ zaq>FdPK>KPEXn;L0F{AZ=t3P72LmitAzANcyZ zLz4C~3V6=`o%I=W-MotZY+6=5dsa~9@54jM`*3_&1x$92(#LWHCQo8qlINJSvXpz? z18wJlb#2rWuH@4=8SCejR@Kc0ASyak9+*jQU>(JYVVPtQ=&-D<_RFBk66_R`ZTUag zd+VsG+pPzEA`=3(E4xcPB>_d0#Ylz;u|lAIb~9_)t2eiUkUE1zDtZl2Cm+F3O#3!{Y)i8xjMxx z0q}~n!yJzbE*_TQLVrQkx^fDK@y85Bw_{%$FpThX5m-ImsmQQRnC$XSBvM)|P?)BB z^v?{um8zUj;lJ~ugd%GzpEb2KMn*WPZ99s8zNd6w*mHdlIY7eZAu=I;tZY(skjonwY5hdkYSmL4qiG4P;p9g9PHv|~Ikd!K zuTngzz>ItYvXf0+E~PyEJ)4h~>w1Z7^;vX$iwl$w70Wx_dnnh(aDJoNli?FP-)>=N zeaCLE?by>Emzm$6WZZC?_z7g)?{u1;!Fi!=m8O=t=4^yWz|Q+q&ea`iJ4|*eY*f~s z$8fn1U`Z?1*v@p7?VQNMPeM7Myr^^7W?sQ%uxJn_evH{!=w_8dpkAix7Q-~N>Ph_T z>I1>vzPq@G_Eq(Ur`4Utch@`k4=Uf|>68nsetoqyn!In?kn8dN1lk*Q<@xggOMa4) zc)<$eQBfEenA0qa?5O-zi@6&4krVTG8hh;KKPaFvNdD)KcgS0k18pZP_ZX2d)ah?% zp`U*Q(`y;T3*GoHyc-#+S%blxRQldBHOg(FHAgJCD@yok4f>B_RV= z^oWk}{Jg5~(`MhCYsXAEEqGpaFI^8rcE?p#lssYElITK~HhDyf+Db(g(#DKp&PRL3 zE!tPI8Sra$Y4H|bYjf~r8y}*;QiHakm5`V3=7CJQCS_^>cE6(OME;jKo;{O36c``2 z8Pcz~t(Q9TdO>jpU;Wr zJ9_o}V-fa)q3roN5qcwA!k$=0zu3~~a;~e{T$@{X$O>@Y(TR7uU3iWxuS{IUdLX9M z5L*q-c6e0a9c_1v?B$_crC7-1zP5GnxD(`XY&++$P2?9u zWLEC|2an^NIM!(kTxTHoD|uQH9&JOY1$Kw{!3b=KQ*CCqw(;2A){AZTb=TuYJMIvE zus;(ZJCmC-j|2853dec#{gRF&Xy1LU?9Ef;cSAczd8v_6PQ9FuKl~&4G>t`OTifNw ztZr4~4xcfXO&DZJgi^XYu3o>+7b@h~@62@EDD})6H6JOc?L&G`rhmrv?p|_*d%lGp zkFPHD=Q7rVLgc#c_Y4KuDYs+DlKlg&!jHOo74AQ7$wTEzFwn^=vwWk!=4Ujgp3N%OrL;kLV-T zvYgeJYL*1y8(2mR1M{?>4x*Fe#!A~pf#r6exA2iRgg)W&_8zVHLCtn z1jCJtSR|p&oELF?bmUiW{u$>oQLswd z0CQiw$q^1J^ZPlsI=Jz|Vpr|+xo8(XVO4oM*E5;mUo-O#imzL~9tRb9N-W$qI3MSu zTuYXF7ibtPC*ktB)x5G?m@|trF}^3<8u=DFRsAUeSsr)!YmsYLI3Y5DCFn6-TL1!< zcTFBd`7p7n|AP?z>xUd@@95q{1mB-Z%Yv0Q-+fei^&QEDnU!w!#S9;b_)Drb$kDM@ zYdl)__Z8BBC>0;zU&Fn$+bTm2dfOfD?}V^C7wx5r!i=5haadWXrv1~Rn8k$`$>2%X ze)uF_-Rn%@${IMqY0c&|vJWct80qgS*^Bd$n&&DDbJwwMQ>IwgoKk*&9vrzUms(g^oPMT2K~;kNF{97zW;auMDShZ&ULjx z{};djV1|GM(lfFjSi5Cp$j$I#eHec`Atj*_Yf9X{XQn~vV^n#=BE((G#lO^MOd#1m zU-XOzwdQXljP~b#uo#FhB+IY!384H1qyx!>q`*?YC7aUIT>`lLW;;BKhev z;orvKub9rmkaSQ0QKJ4oy#)$MQ55Ex7u~ATI%nkn`t`s5(~C?1I-wf+Z_n_*K3DPG z!v}5ouN(i<2SLH>EWrLPJpKEwp^%e6l7lMB!imcf`OE12uQv&R|H>Kle?7q8{wY97 zxulYEA}K9R|JHtj@-Nf&-<$J4FVcv?^g}U*%ius(6Mp_@ayo^}8wmT@QbI!@qvFHv$TN=~#b|Jo>NG@xOi+ zNCaz3Bim`3^Piq8h8X&B^LkgB7}bBi`2QUW5^okt0q7d(qcYpSY@q-1ej0u-0eum? z5z_xOM~0GKFjk2xhMWI5-yU!@Q1QgBM1R>9zZr%YFKxBcwA54vv2cRO(^I?P@bI{d z43ZtDA3uIzU}BPk6FE91g+P;th=?&VGIC{S$8>!4@jng6XMrt5#TRdFDHk?e-g!=! z8Dik$=jSVbe%Z+s2FZ%F0y@;(6{AKys5^9jpp1L$6k z$L~>3uTdknvby@s%Bh-Bs^L>uwfh=N@Bno7 z+he7@bbY;n#2z%D6II45(+TOgm)crtZ$mf#dS3m{j*~+|bkc+x=d?YQL(A~j z+LS~a`aG_h?X z7kD^m1c}|Cfvuj4^M@L3ZUpG6m z{@>N}@Ja?5`eC?`QW&erY*k@_TDj=k6b{`=pN#Qr8T{|>EAy0;qp%R0M{{Hyy9F2} z_|ehPK|x6_26A)vh~FV{X+Hf|n!&Y9Nc{Q~t?S|dnVG0)0CoWA`c8RKpxvbPVIbv& z(~|s*farI0PvE_#m1_JP3rlInqA%;VH;(MDqEH!&$I4XfYXy)#RKiL<>i?tf;_?>X&RGnO;ZNtGv_UXZpdfxq+ z-)1dH3OOzcvNbnwvFNZh(lO&7OuT&XG{V4bQ&veJMOIv#W_Wq2_z5?%3Uu<*-RdUL zUOO$n?5kKroRf6Xl|J6@&w^(n85(dp23>kWG(j{M0#JS&>xIDVQaf0yp=;;rqk7Z@ zuw}4^$H-6NESb zT((kx&+eC83*V-|BN{(R0#ukyhU&S@oymL^S=mEJU?pRMjyHJ?T3Ni-KB9=iL3NfFCkFPH!7uS2)+KF-_*~_y@ZRCoRtR>J_ay&W~ z9v)t8wf^pEXB{-Ng=9HmS|J3O>~%4(nFgF z{91?`M(OTVUZgA)scjxjLi7P=$ou&LPw{)FO7#izz;wTVgi1v3?d|Qtzb|NY1CU+9 zZBEPG>2k5f@&qWX|^lFO!1eqioy7kG@qMpVZ1f7!MC}k{`Ap5I;jyN_zx1UUs#AJ_A`-HY`6GK7)q>eZOz~Z@MJXT z48v3QoC-8YjCyEqBEV6BFmNACoi)q~Jc(!%M54ueJad(fD&b~2aAh&p1CWBr6#`7P@&TAH(^afi z>?kq9cK#oKIG=pTe{LoWru^ltw+^@Gom)$SlubGbK4e@)8_S7gwr$)ImFxhFdv<=y z2Y75sG|i)imaJeE4Qu~#c(<5pv+2z0qg$J_i$egj51Z{q(+l-?{vcbOBC4@G^gawf z30SN_vTf2Ma2kTbF48+#XmGJ<0xnK!bx*s1+2hVZOl4bDnL!VRyXEsQgqD0u(6~i? z_?GowA`nOkGMRjTAJ6pqG`|>xV)MuzpoSG3Rs%q+LdqU!vHYx$4ofZQqrzM>-91`( zN{9BT?~^HT>pI`O*e?xLAWp2@xUs0)1D-Awfrk)a62D!f<#}t5@bZI!@JcPoDtar! zE-Zvi#;BUw?wVQ3$V1fRI>+h^U3;NqV7An7JWF>`oz*^lJEe(d|U0 z!S2p?Rft14J;C59DrUbb$y$pij{Ygd=VjBf)M1pw4BQjYdAbPRd`d~f{cOAp`0B~l z+UCMqV?dXp;-yoCxb}l9RMiM=wU%TEhb835+e%$=Da~&R^$2G=4^5j?N65<)tgQ;_ zmqo~B6*AAx`Mv`uZMVD2&10~Gf$b3qJYM65Zy+}!0p{7E;3HO+D49nuYi3~`XsJjZ zaU&N~?Ld5x8HdKLZeP~zvM}7~u}Bb@g3#c~BbCK4WI(H{!S@O@A!E^0mn!kOK-R)# zClbv-g)5-2iqLsdlHalxj+O|@AsK7fXxjWdi&nnHYmGptx-9}xZQi|$x?7M=<55%T z!e!=r^!uYR2FqI^4O&B)dS&jV-wOl0x9NNh;;u*vIDISaVBx%YNZIi6JB&9!)gCta z{{)7_OMbf=nB9kOKG2ofJMPbY*S-&&LSV*Kt0=L-9WbJhi^y~ z-b^88dWb>$Fvat$_HJ-)u>gB4F2o|KARB$|gAc?T9Bgp4Al5Q%d4l>_BbB&a+jWDf z6Gr#h^jD`_;>l~!I%(7$8-j2vutxam<7eyxlILUtyyqIcq6QekG$Io;EE*tTcHjd} zr#}6Ysu>YF)JcIfba^7MgMs+JP z?z_VrjT-Eeg%WtXb{K4sNnuYH=OSFA^GKHh`%B z@P%m0zP7YUUj^}fo)2w4W2wTN5~boIV${)a@`5J4`4ULf${5(}h-f={U|T;G1Cqk1fixUj?^~iz8jCl@6!M;I+z?D z*s0juKyOkhG@l@L*wzf{DvVtH!Ld_=C*7@YHYnhVjvpib*yrmGw?{!N>6FEqcy_2S z;z09e3ViX!AGJKk-Q--e6O4CBlHDW#jDj;6eJD|f}aj47rzIkv{Hp-ii zm}s{tuzC+2-nTUh%2`S0$in1QGNKBhCi^d1gkoN;6n}>y>ZTGQxgJvzmu_fZof-Y^ z%1a2T)gACrD%E0N9mB8UcS=~IzXKj;u-ZCx7p6(Atk3nWQBDov4rKW*-xw9n?##LD z6mlhBB$*bK;@GDC{_v`oT#7M*5~gW0&_i=2;UNXlZ%TjX3R?5dFCdH_FSf2TF}m^5 z+@mXavN8s4ugYA%{y_!8r85wn)$kT@r*)Tf)PVR`7VPtthVzAJAS$idLyqznb(k6 zOJv2@6R2o0*6CctI1W$_>M*Vd3H47Czd+a)II?eX(+cqApD7cfy+B4roQEKxfg1u> zcbpL_nR%*jceS|~Hxrz0zNHn5_&Rtuw^D<{ii+RWP*5M&GPE% zS9htO2F7TW(rm@H+GrI_F9_URKB*pPZOSc?4SK{}U*fg& z32E|hsFkRD;T7ID8nJ*)$3^!XcwPf??({nLaAW>P>Ya^*4|;X2GaRnAt}f}#8!)JF zOv|Z96Ab_ZDiFpaCB%MuI4mMC^g3~AN)(&vLU77|$+XP_f?cCFp_ zC0`o@5ppR4%vZJCRkyer)c+@|eh6^9qtG}gVVI~?eLin6l00f7uPA_ldBVb!TCR-$ z>SIPn;s^l_Ugsg5Kd!&Zdqb~v!hlU~98qn}%2$6$r*z2HXcuW8R`hqlHIZi8)*$N-b5yG%X6Ye@x)2n! z3-nYjds-WsZW{k3lt^w8l4er;%I;1J+UBJE49{sf_D2 zU%3TK>d&eZ48GBeh8BcqXtHEHRLw)VZQ$LT1-1JmZ1%U~r$ugM^6qUYF5{bNnPfI3 z7XLn4GBPp(svI9gKNd@o^L?-{ec&;Oi1rH^8x~OgnoIS&wmp~=$NLjmU&BhTedzru zxQuTKGhGA$x7}R}r?9s-oWs~L-Q+L%ZF#fjVY_H9PAtTdj5^KKaU}Y^AzzkY@ zxNhrDN2K5(Kj@q;mIDi2w?SlXmq1cd5WZzWPs5H^hPGpE$%ViZ#{4!VM^oeclurgsaC56O{UCzLEJotdX@T?UPI?_j=x~iN z#+tbgvNHp)VY9ziYLx2v-vCs?Wp=F60lQR>h&IEL=Z#Hxy2n*d*|(Ad*z;ga>g|Zc zrGZ_sbO1AaU*H*sFn@TW5%pJi=RZHE;K9{1LdB2uLKi#4e}f9^3r0%l_p?kkme(MX3mi%Kh^9Ul|JootJy3iv5o&wFfDh<%>jObHmy$$M-)9J6_ zGWTnTd6Y~Vt)8a++MP9!1XNOmo@6OVKlxaIts~}TJ@b`5-1uP8nQ%JWDAhiWQB;|+ z%*tBU3yVb#07mr1^~WJ@r^8}CJ$N$DHu;#%`zg#s?L>bh0`XA`)(Vr}-OZ(oF^<*20)_b_lbHpk(Co~qDHSu_&X|%$0&pT)5?e94T{Rzw%I5}J}o5DeEdzSxG8d_S!QS;NbXyn+w;Ps6`!T~=4c zo|je@@u(Hv#SDJ$vr!NXu5@WS7I`fKgewWQ!u(W^PzZASn2FA48?;o&GL&%4W5g5k z+XYA4-{(p6+VRFFn#3l?g3g_DUr;HhIL#j1NK}x5vTLMo#uxi8-3K#V@S5~>Z zyW7UXdyi+=oFhG__0*nEcPY_1^Tlc-a>vG^t($xveXKE{q*pAAxjt^Tr=qria^2qv z*bW~0v#z>3U0;Ys39Jf%QF{=&i{>R`GL?%n zaI#W2SM0PaIwl`fav)VsJRTcRvgGHeSpGw<;1umO$?6qLlBwO*nSUXPh)LP~>`IVu ztb=YThwO8YQQ2khwv!~s*g`ENxT)Tr-szjm^K3?XqJ03B%|F2_8z>$mSHLPhAs3cM zQm!Q`qmLvEMJixIB7m8WNhpyGPB;dK!!MQ_K~2n!gn{*e>%FsnzEk}xn@VEL{bhSs zgUY;@-p1L~P;Kq{w^wK7z5OAeD}@Ya+#t_MSUqIM)Mr;drRm5rz`jL4f;XF0)w&VF zber(aop@px^-6>U_Use;!qCo!tQx^6ANDm@c(BCvlD6xp47-H>>tXz|-3M@yWBK~Y zpeC@^r0H?@ap-iMWhxey(q+$qKY<@)R_}hCEFsFJ@#c2YVue95;%j+|=?F0zMLu4iig1|< z#(baJ>lF*la&1Iy zh>>X(bTX;O98^W*H!eqL?P>-Ld+zU^V;c@*3(>t%(NM5_#1lmtCnhSoeLXnZsGy(# z&)2%W2jxxk^AFFdAm{~i_&uXvKPJSB4!TB>u#EZlNhbi*Q%K=>&M`TJy$)af2`2p) zpj(CpNDs9liorhs4*$l1QxJz>T9FXh>4>}w)vG1l-0C4$h1yLX9rz?-Z+;)Ef_oAx z2GA~#U359<|B(h^fPOC!6Gt-p`>gEWmxKWP1Eb=jg^LpU`%~@T&nYPd$P#0uGTuLq z3m6(jxd)Ezm;Z9fzkliXe`i!YP%8ibWBq?UT2sh4RP5|3EUc^z$Aa1&!RE77Jpg5+ z`d27(Hlcnz$bT>H;NalR`0m|13MM8wAm1?nfDJsv^}W^4*OR~ah}=)*Ws^&Y{yfJ5 zoal#iIjhQfZ9)~PeD1aFot<&p^&lcM0AM@l#DW!ZO3lmXH)^F_BSw~lvOGM z>Zi*R%@!+_lUk!n2v46=*lrGB@i)~=UAAM&b^}|)uYD7R>ePf>c86I~5j*vVt;j@^ zh9ZCbMkLObHBfdG1Y6wUR&<1)B#=g9)%m4&O@V&{eO{o~v ztLWt{UUv8N4CDO(g`?vdL)k`yX(Qhis9h^zc1rRDs15+|ZCBUbEk57LDeN+yr)0C% zjXv)IXgL?>(_iwyb1Pgp9WIK5RLc;t|Ax|xi^ z9Oz|i^ykm>_HcLi@|5zkI}Cy{veVr8Cx8cLo`@b|1rL8~AuAq`kT#&V z4QGt5{>{Y^i}6Sn%zCyC2t{pxr(GXF|D_`<>vxLk?9@FyJ@fku=rwB<0p3lHmYez& z(31eo#+Ewld}G&ia~vvM32208xCh|H$5u8U+n@e%I&!nX>EwFZ+G?W<=G^AuP&dLQ zJS2p+O2&7qP9zjN4%dWV6%2_zc0o^gx-|IjHPuEs@WRNQP2EdC!A2LicK9>qW)F%Y5dRD)>b=b zY3VR*ClJUHZntbh>lrt=oY`^0jXv-vQPI(r9NfCCaQPlOIvLU_9K$nr;A9DX=Cv&N zXju%J za(!z%o?gt6%^@{+zJ-}C1ME0_ZQzn=yY}vbJI52iQBD2}lNx*Z7TRwPY!-EP!Hp8l z8{AER!6r36s2)kr~%4Qm-D^ehxuFJF>IDD|CdXGeouE?Do7deVqob63d|IvpNi3H1%q?n79=8=Z#rbz7gX0t*i?+Gq zNlkJ2+5jm&PQJ5%UH-;$TVUZ?rZST=J`CpEkKX5udA#TU z5KBFyuo6XT=D01=tdj%@|LK~6X02W1LW3(#)=CG4v{Qh7QZrYtBxYN{)6t)-tgP#k z+Mf2m9;bEEsT7SFKJZ^{eC5pG-YPd?@VwfhZrJBBPF8AZiv?`Egq>YQ5wH7|9jbaT zXg9LZJKzDXKOPGs+9aeSK$w3Bsrj4i_OIxjH)~om9>_glGUdODj+E+)fupqN#ZmGe zs3P_Y2-rrQkirK$y{rIh|Hmc~r`3|zKE?zJ;7?+9cg<2eT)}Z$$1}#h=tho=O81_P;qka}N_=G;wKbrd7#&Rx7DCkCK=%a!wcC!(ZlEm78-J* z{2tDFSiEx6NGaBM&Fl7pq&F^7HyxZBZbuy~Mgs(?KT~33DZAbLFYtj(sJQ8_*7qXx zs@sk2;o=YnnGijY&BQTk=5;KBDhs)Xt5T>#yW)He56Ufk^Jj7nyq+p6i7Sr2W{uSs zY|mv@w=P0Qao|1r^YbZ&{`)46hB>=YnfGh{s!zVS0x_eD22J499xb5n4FOVHy9l%x zQt#gfXKzW_r7YTCE#FySr(ng`<=_*`yFYipId&W!&X*a6 z5^&jxbJ_jM@Yk0O2&Z2L+p5P833F{LCmoU%Jn(BC94Oe9052vfF)cwJDdO_Z{Zz08 zBts^H1_o&4`SHIM`utnyvBU{fVrk`EtEN;G6d#$fu~7l#|78xeDKz52g!z4X_kdf6 zNH?EdpJF+;6U@FKhuVR=xFriG;3TtbIExdwIXgd}Bx=erBjG{&htM||5eVYYt60CH z7f?QsX@SxHO$VVb8-Fo5Ckw+{{P7$Fc@geIUey0B*9jI0895p#GNe$Sq%|BKJn({c zK-szSG>)9?uLJz|pJ@cVh??O)m;8fV&kK$g0Xn_c`Z*8spD%}pPc;IMk{WE4{7=aq zEfN^y*fpW!SHI8T{{0-yi9juBL^k)2dOb-YkT+8P_{{U?hzm@b6%`0i5)rHaF`K_vA!A( zE5Z8uQsmj28c#K)`;FzR*uhTxaa}=U(6GWNg^b!3g{+Jj&4-AQI0I*9o=cgYo}L$@ zEteM;;)|~PQQJ@P4){z3l;0*Pl{^X1=TT;u9lBvw!e<32Cx1Q#f%!@$DUyQFPx zb**;~>qkW;(Jl|mkL-9~H_Y&J|8ai;^=}GL;PMzLy)dBy@a*7M3%e}EeC3~eoQ6h* zQb}cj-TnPB^k;&{)!It@M<)vDc}izxKxXz%#PDhc)`#V4q1HVoL4W$(mN%jq+OSPN z0voTM@K37&$ilw5sB|LepRdc3aB~k{wWMAke_?0l6GYjae`(EJ8kLejv1PnvqhSci zruZf(pc-ujD}SUJP@$E zgc#QDv)eoU}Jv>q1|O+W|oKSPLqQowh<5o1X^d) zd;s^}kl~`|eM4L0sG z+Af1n;c?3)!S5ts6dU-;jD9(_PF#F78-APGe3oo05CxmYk@2utNxgN9d0wP9O*0A| zpIj+VG4imyF4r2T@3K>~nv!-fC^VM8n6PM;t@hZ&*!pD8<#x#DN15(Os7u2Max_J~ z!X(Dopy=;|q9tiBm=e}VRww+{mwX=3&^8kZ@)+AZ-s7@;vt5P3O%QaNqO+rAe`A z2X1Q`^wy@zJykCbx+D3q-(NGnuYG&t<5RGw&=8dzYgo!1iDpE|r@)KLBwao-T4?i! z2vflLL7>dgB00t>GVgiZS{gtpyOxNjtV){ z!v>PXOqm3ZzoSEcoPT%y{ts#jP*drOS@iozuo+JRV2OCn)5vLd8%VFGlY8G5C<86x z)>KPgiSx!JMjf;4M^=9&H}?+NY5W)^os}OTSdua@SjHT8zP1~puhXA_Vw!hx?4h;w=%A=|{0$K8?ST*!D62@m8Bftz^l^<~}M5s9y8WvQOC?D(#(^5fjnh%SoK z%0y9F`{Mg~R|%`zM`fF{i757eD-QUJ#?t69^jjFmY>h3l0aoh8KK6|4>X|9s}HD z>nec;L~0!SK)AdHx9x$Z7?iw`cLE2aDRs8AVt8E~mLm zzCGg_@KgqE9tH<9u(LGjK*d$?zEaW%0t{UUuMwW$$~AZ4G&WucB%}c($ZjvmNbqxB zLdGZFem0g+866hx7;1_&HH!or`bFnW!XK;Q+`A%Nbj}k6YCeMx$P%F|ye%VuEaDJ| z-Q+&^n88GE-X6B0mbqQp0C{^TcG=HH=aY>d5gg4dk#(T`7O-f%{7}9V!)RK?Z+rq3 zF_%fU*X+Srb^21XaCuz?J9k0nmsLyGr~n(YpSr;dquCor)O$8{ANFUQ)<3#wzit-r|eR7*F+FIngX%k-y>So%};cS$$5FXPxId^x!vBZy|D>_ z+`KlDFBh@hI!<@Zsw(sER`L%%>a9LIL`Ra-Q)>t~qh#XfR%AHBAX{IL*JecXydA^U za+5cdx0s;-nz4A0=4r<3>Q$Bnff7nFfU_6?uYmW60nIb@&bIEkASpBcf`ixdK=sEx zM$3zQ9Tv8fkbvuaxgKArD_G;d6vj;c`7+ept?};4G(W8l3$fmDKGw*2s92jn5y+;o zi*P^%_N10;p+$iHL*s15y5@G9*Ct~_J}=>ng2p~%a;lm*z~G8hR=kbKwi0x zQFxA8s5^WY z{A)yp-JdDNcE#@%A*bjKxrszvt*rcqh=g@1`Xk`tDqzgI?_qr39X)c9x0Ch$6H|{o z>f2ptt$o#r#G%A(PpX+uDjDx5*b(BRD)GvagH*YLiDeNYlcUGLWoZrje) zSkELu>zS$fH663u-JUOg1IG`5h7e~PTpi7Yp-mrSR?j;m7pPai1w^pFj zWc*K)Z$}oCxYgWx>yz-;%pp!Ar z%6lY>De*gZk4y+{6{^*&*umD%pn>_U>-&Z3gD8h{ezL9z0tcG5OU?RS?LZc@u_mY7 zyJu4^FuxCqX(*vTK*eL|7@BA`h}y?aP2i6Ac_iR%)zI-G5GZb_JQh zOJEk$k70OIE1Vi-_E4t4?t4%S)N$@D{MDei?89ij6k>i+yEXwF+0KK=)jc>B^|7oL z9M$`Bbw-ZK6FYp&ML|VT=>#T0Bg)xXA!)Yh&XS}l5PZ8=YaM_pM#{SxM-&1MIm`W- z%04Z6Ag&wb>pX-G7#DGFZyMyM?1~^lH$Y9lJq;B>S^kyYv~!g^b!anaP871Ms)T4U zB(8Fz(Ac9SZ2If$v*@QYmRt+ohW>XxmAq~@dD}9?>!0=r8tGcj!D_|ew+XeqtR8sbhmaDLsJMi^?t<(H88LfRzLgb9NezH?A~vI zo_HWmiOHxv3nd6iyeR~?K8Azx@MKXpiaC}}i;hq+b$e)W?I3z%F9arXYwfk>L95hh zyY(T3mP?lm2JfL8(!rRBP|_P2gomA@H+pZrTV{xf-tU3i;Af%kKGVB|h&(|uk8_!gH zpUv)!pEUQ!*r$<(@?W}XhDAlBQt4AlD>uZ0glRbv=p4xvYw>!cmNqovsR%TR8&~}t znWk-xiQlxjH+%ghHOcAeFsR!fSt_FoAs9H)7hCU654CFu=tx*A><&MnYYv?BJ6bM` z(pIKijAvH~K7a%fy;3EMJwJ$C^o;%*>N!cgi<+mR{eHnEhp(8H);0MLD8ssl7dG0u zNTUxSI~}XkLjuzkPJoG6TjDG50Te!7{OswC(zM;|37_VF|1}^NYob1JVL%bnFqSIm zm2qaW@RS`+cPj(^98yJ5nHKU+*KXgtO}Eug?7cu#@`AJ%V+q7LpB)#R#XN3~#4drt zX3ZCsk4dSa%llba=ohWj1TA2Id`642m z>YVG@%Z9mVD$3$j-4Cx={9I`c7Hy5(sAY=l1clTqhr6V?OSC6=E`tg@*MCGscr*My zvu;LyVAJ4(V!t5=uTL7Wh1wL zc?7Ni+2e8@2cXFfvle0eMYjHVmv~9c%*+5qhBVz{r&#qFisZBclA*8jlQU7bw#Vf+ z4X0&)l-C-DOI(UH8;{J0tr*dqnLnsBwgYj&@b$3$WRYg5vtNij?}y8GYR>ob@4E{f zTPR2FN^^Md6KdJd-MAGdKY`HdB5+ei?w8tXS+PIT+MytY`FsIYn5!hX^FRCAdPbEK zxrI5P8G0f)!Tt8AV}JO%kNOkeKaro5b^byI%cd0Ea#U*l{sunc5SxLZBr6YT2(9E3 zjf~y)m<0PG0IJ-;28OS_0@zi>Q(-Tn0wv1jR#Dt*SEjVj$F(?0Z{Y`IXUi{A8P+Z}+^*zTeW`p() z$=;&WbuJ>J-_~X>^#e5JqQCJDet<9IgUr_1RNKhqKKD1E_7`th;HAtn#WA-1sWh?@ z5?wq`y*u{;iQ5sWeW1Cy9;xiH-G*)pP%^jwM;R3kG7!un!H3hJ<75Y4s9iR~Le0y(xN=n3Gnq(jUMUjoYWq^Yx==S-QaCI{+j#n#BAQaGHDqDSF=_E zLyB9p>bJ^Qj&h_JEfKErOQqiOz%CQ<`H#1ejN#M89Lq7jfd->bVxjZ3`ijwssQB_c zjLGQfr2*be2|)D`pS@qhU*R$11vLVKLe_)O$qhF8d61#5ODzCn=nQfegT+R77Jx$Y z8spE9`QkC_G()KY{I(%jY^VEb50oR&Yd31}U9Mr?dgEA0HYQ9}TWVLU^*mVSfnqKR zNy&%O9>LGUuG5C`JwQ>c@~c$r)AMhGs}Bu(L5+x(r`5iLr+(1j%cdKfFSky$Ct!v? z+fl}lkuYilsa_fzgF}Pw$)*W2_S5Jp^TY0eVQV{BM{kb{QKz{O}Z?%8;9_1N@DY5sj=f7ToK z6t?p)oF-5So1pR6;`ILlYTgPmUUc7tr|pwMxh(?>9TK(fly&yHKq|R zXWPd2OMrTjsx%q5;|^--Zha_YdP2yhsN!g01n!mv>Iu?%Ar25y?|cLAc42Q{Tw2oc z7BEeRL$TkJuX8ZJ+|Dnq_~u)T(Phm@ZHBp?sGsz$VGroDs2)(`Cqz7|#K%FZ# z9!$Un!X5b1fT(NlR)^I-`afO(y7Mu~-=-tzSAp>FW9f4t7d26=oShAb>RWpGgQfa( z3hMOq90;mX`%zL2Pa0<&Uh=eZY`$Vo-C%!>tOYkjy>628{f+-PtQjp+3t_u9zkPZ| z{n=Y%j@^3=q9p&{!#-Adh#Yx%A_Pjo^52s8@`LVv)a@eO*e%{(kr-8)?^%^#;!&>+ z-SH&D1`;x|kq9UkqtoirUQeopy&9jioGVay>0uuA;@AmE_Wi}CsHmtUpdPyRbZ)(Z zXGu(ipd8rQBDnjD5uqJ(Fq%ol+0ADZk;~E`(9F;I>bh;%FejX6urXU7F8=5276lzT zva?t@MB(1WuiI@!k&tLSzF(jB0H}At&dLUfT(ko4l(R=;cXpfp9pSN9x9KOQSFp2ok?f z@xYknKtsDgr9Z;yNftgmJCjc=aE^l;P)kox?Z=M}#jArQ2>nBB@G#zT9&ousvBcLl zoHkDlBfL1Aeg!2#?bb|odGQUiw-WU2Am|4EeqR0sqY$BI!25|M(8_*WYj8C@T4O(J zH!yToPOvIC;B}NZ3wYXh%(VLt=zInm0E&^l71SKR5pV#q=aw;$-7@ZU>{W5v2OX== zZz?Sqo?f3ve|9;mpJD$egqY@GSUXlbX8z$}DXeDDG7t`pZNGEK{eE)(y^;T4e-@P6 zj0P=A%s-J2A!5zNPUC8IENI>0oFrY4n-|t%RozFc3#o97BqZX%r&D52bTh~kk=i@| z$vN_%_a8oN>6EfrV(IOosY+&K4)sCwQ_ltlPEJlrlLKRNVq#+B$xRfbf`#T$sy|@? z596|A2)q{{EJGm+^9yI%rbp}?9OBz!MU>v&&{~8xE?3r^F7%@B6h`5?OvZP#iXnpo zf5OPY>pawe<*-$b&HP}qBJWN#EFbx<@V!#?W=wQ6Lt>&@RATH4wZz2QH0|-ccjL0| zc~`*^5ygE~Xfea*5W>240uWYVrs51P|grL5eBf}3^LTVUKP@7*`m0|L%h zo1&Z;-8}=b1(<3mQwV}j@4CrbjCxVYYd&D_)33)Q*6Xw_tKA0xc88LdNYpc>oQsDqqasVXyx&eXJ$PZhi z{4lz|ZVDqduv4&pUCE|$DP5f(yad&7jPdf{vM8k7gz5*j^E2O7<|#k@Y~ua8oxdcG z#Ga0PFCm2^jV6&g+|-+cmsisyU|bO|WxUU@9{6_yJvlXyT&&yNggD8SOqCl&TwGsE z0fidv7#f&X1|R{80k!nqLtlg`Syg9M7%k>sK#&~Tw@KUaYd6r~n zN`m*Dn&R?fNc(Q*fv7hvFf_l)IHzEsQhLC)R?uU#wRdV;Ya_DmNi^~<84OclgXFZa}+%^6hXP`0XHEpY?iAGZW+yO6d z%&d_X^|1N2qMvT;H16Z;#y}C3c&ho6o160@zTEPHwp^QEPNS1M21l&O6hgQA znn&y1LSk}}jR%0Vjs}ZB8x-JDJn$|L2u)`=A)Qlq?|(yw2RieC6ZGDPt#3UCfbPd- z6d^0!;!aoBsh%D*&sDo>($|?3wd+=taX+wUSw8=`w(BWuvtZs;u4b~phnU< zKZCeivS)o;@=bX43pRLB+nKm_!+`c0!+yRzrb9+v9*h;5m$vgd7O%k#I|M{5aaeT9 z-JnJ!W?rQ-^R55&UlTuI=nZ)2C6NUHx9-kVN`azD22e8e&ZCackgHdE{V4e}ZgB+q zcuj;KJJ02F-H9U(iBF3(nJl$FZL=ZT0yWqH_zv~LE0BTcwmKZsz926zs95HHPlK2( zf38p5i@=-jwaeV7A(r(u2E);LX5h6{bv}0c>hqU*V(u;1Lj9DUqKmW0i!^j9E1Qv|`r9D|oEo%-UuF-S~5PdD-GUH+DRv zUQbUCPNc)29{E6Hhie9=c;cBr?|i3Y7W!{X=XHpF{m~qjscC zSj;ci&$-Lc461eB(MNY)Q72iJQ7{|3r@Ljmx^33?0;aXm6t0Wn(vqbh-5)kPy2H29 zSr;q6Yt-yAK6q$QcqQkL+0_RVoI%K08la_p}nPB z7lO&-&9NHpo!myVFD)5Ar|J#;0!?Xfz56Gd$SR6Y6*lD`b=@Vke@v?i^eZ0tQqynL z^-GF(IR?`XyhE{7IQuQVvGP@FDGfAJq#jowSN0gOicU8O8%qwN7dmhW0WY`PB`R=q z60wHSS*J>l$LkK?z(1M3w}#pq+(1ZSF3VX(2Ih148g!#`7qykoAGp5$I^bO@@>6zv zk;Cfaq2g6{qn{^hF zHUD8X?iDK79OBwgLgg1U4P@5UiWe%O2<<-d%WZQCZ}ReyotqgKiNCXN`*L!l^Kj$p zNZQ3{R7h+_dJ-ADnvb}?FcGSk2gtRG1XeX28WTM6n?u5~gN&ct zvgOM85X5`=YERQzv19nKzOJ8(I^oq$oC~d>ljU<&_!_T1PH7FNZ{E4Bl=6V zBHG((UHpv`3Kli4Z!mZm2ZUN{h^G8KTU~Mmq{=dYp+{goUU?ns*8Q=BsOSt3gzfez z?v4y(QxF_EEacbIa^AhOjptZqJ4a=0D?WC;hK)v-rC;BAQk@pZ15t53_q~+~KD-=& z0yx_BMk0~Jt9yw{bFlSoqkBr*=kQs~gxJzw!G zG+!|@+?ynP+{No2Gg+3`-anNpF1`45j2U9$n)Z0RdOKy#^(=%>s_|RTA??GR1uDbO z{$^-|@Zwx1CUWm9#SJD%Y);zErrnFL<>ECuP;u`Em)2kG+`fyXqY=aJ@-t&%7VXth zph`pjo!aCFY^bhLiQ(_aI^dWg|NBQGH{`6nS|T@ILhB=F!T>(>9kB!K8vNjBtt={1 zx#~tD2b*OIhz&7EHJ#LN0%unE#ZcdD5~uXOVlUE(5U0xw>V(n25b*+68MpoMgctB$ zl#uJ7PeVbpyan-6^6Cc}T=qo#0KizF`%|NqE39u{VF2X=bLKNE34Zv32 z0)~df*Y;l$~cqJ{2agt@*@V!DsOWP$gP9} zx*_o{c2evy;H(D#iw7Jdjlk2{=SJju?7w~XJF@2in)HAOy^P!sFhYnEaM|SmmW@GY z_}NjkhL6dtrqYgfvDf85tJ{u>ocs^a{IBs5R})(M?Cs;jZ`X@5Tn~W?z+|xt;CjNP z<79*bsJk#dzmeY`llZiLh4&o@pjBTfWAI1+?;%msUq!o?+p7>CT zOpid+=j52Slq|}IPgptxwseSKLeuM)w#Pm|?U`NTRtDzWW&pU)PTofMP{Sp|-so(s1Z zvQNLySDsI8I$PYwU&lV#E@hJ-duHM4UZ1v2-~8IidO++7s6Xm3gG1mtj#(wYKg8XV zaeuMTscGpgff)FCoIm_AvENXak-X0NCv?NSz+hl~T6^)UYC))YOt%gMhw58BDYEpfjK^&bS!3?Jx{xm|;vz1pNk_LkySS`RaG&=eLKBOl+o0A=Y8% z8yy6XpPY&B;Sc4|@*_>=aSzES5CgVeGWsOdQ3e(-%jDR%Bln?VVQ_p#VKpLiTRjbY z=34xWn>;o+oOtSozVFYiw5>RK-o|{PDxindKo@bAk$xn#d;cZv=IBAA{wrrA6k8|ISA~MO(%9DFfAMy4q;!~oEPi>W!+^uNaR1V%=zAuN-%xyZQ6}zS z8bhrUV8Azz=?ITAhZC0T{8{*chGmLMRgFRZR3?kJt-+t!Ex{yzTXGJ|Dh0SLetyX) zkD+sTbXZ0;9?1WsVDZ_1Ikj@E+)KRAYs!#eyPpaOdHhCcFmUz{$j~lm&U?P1A|d6x z)tERD#)aO(`Wu_fg>{O5y*9!-wu9ekzf+$uj?C0L!$$P0aS%386G9Lv@FCzHbVnrGM`6PwGnomeSQUGPz~{l5}9A+FFm0Jw~n-2K`wql{J)|XKd zwJoNDZ>}W3cW?FWmeMpVC0P~;4{NGS{#gV+nHJ*MF?5^-TP z`?~XVa(piFK#|Wd!>)Y&B98^|lt5Gi4YtH!gC};&Nzunn+9l;!$BU1puNKf>2=DMm ziMdiDpBPFSdMV0$%Re<;v>LkfUpP+hCI|zsu<%2b8LG#6%35XskI67$`Q@a{DI@;{ zYySKGssr!u#Ajy)9RDwYsw_`UwD6?_a%sdT!u5UJ^y2DYBVWi z{?3r`Vx|va@()2apGgGVa+l`XR_yyQ6K|m+x(Ar`b4J5V5yxd-HSc9>A8Uz-r(V6g zce8OdV2qttvcOfhyVszjjON86Qt!+m+_KP?p8M6meaC@ReY|ED26^K^;w+E5?Zfjo(S5DH$Ivb4_1{W5c*@S4!hi9`{Y(<269Jst4S)qk4 z)G9KF2{_`WXuyG?Rn0fEt6oO@mfA|0qGfwp0)8@I-1I$lAiFz0 zfTXj~n8m@uieEUThw$GNx`2ESg>wWHXlvq6=E^g47L0x$TwJi;l)^Fc#m_Juyt_xd z#fKwzuY?xhV++isgu}x9?|uNi z>ZF1O^8&(^dei)gvpE3-;W-_uCWr6OtHiLTZUVLZ9j=-@GcqmAfGX~|@Hp`P>%{Sa z26{O)rn2l7FP*&!@xb0Y;gM~G!;#N^C%NEyjlNF-GPy^*bj3>Kj)k7R_bL*y=l$h# zGVk}-0$L}A?FDxl@zpjfTi`>1aC=YK38a!6U= zl|Tj<%P#v+&yT+l|!x{&Z%Lo?`;zQKBgV1Z&BbTMXe1- zQBzst!p<2L=1fMyMH~~I2?BDK5l65pMgh<>$HK-oO>kETKgwkj8a?z(zBuys0T& zq$VjIBD=#``m{!Yc0y!87)U%RJlS?JMCSs?NTl0`i^7vB^aKFxigX9AKuCWSv3!Nu z4`{9@G<{iaSk~IV6z`s17o;6bGQFjOq4j@7(pQYCx2F3TX>5PbwHxi@=!riw;i1$) zf(oNP3!WoRY<8Y>-d1ry(=9ZT79>}bV1Jo1yEG;hNNvv>!YR z#&-{RN)DCebO53#)trT8ICPOoo>~%9w=tU!KLetpl8zhu4?iHja!LI)32? zdK2FesxJ2Tl!mLref#{YJ;Nj28$2EWB5kf0br0eja?|BjC0}ko%4ck0+vh))1%`|x>7br8h6tVCub-4GD@s@xU5fHbF8M^ z`+o$kG|~%y)Is0$lnYr z^K58z4Sld@7>|edd4lcqo?whob>_CGNjtvxTfSI`0B& z1vlm0&CTU(Qyw5t6)x!z(SVlv4C0i)pne(zQ&b>8K_GFV`5Qt&9WKj}X(JA=5Kcae z=&s-5Vo>BE7+Z0h%x%2?a35wM2Z|Kh=_-XXxrk7PpA9etRsxL({x#N5fyGdM8=Fg& zx?_QIlspTTS|b0{$=;gBh&Z)D;*y7rpjCa@+PYo3IjTQSsR=S4i+z7uqV6K{%Txti zK|q8XsK6<~BARlDE&aYOS3ua^VG*V$WnPYHM+NRj`p^`3cS;63JM&ym)xSa=!p%y2 z@5KaRM#GWA2^x~AV~L@LUhoX$6Zi5IU6u*H@27Z~ONYHAlR9h=W~>?{sKzvzqf#oT zgYM#+;Tk+YRUCv|ahEN1t~F)$$Y!W$K4Z+`ns;q32Si@nhB1UwX>*_MdDo2YZMZ3n z8c015>H7qp#lS+Ht+%5Ltap+0X&uD^e$wGCE^aHDP;`M0Te{4n`fB#yT@S8%#KXBp+ULqoGtRu z5+a%u8L2NZfeu0jc+i1;R3^YnA*pt10dSP#I#@A7bEIXYLC?5P0b8z?N$h09!G zo^YyHech-$7WeEVf$C){JiAE-=?nJ@)*bK6G<@xA#Rri!E_sBKP~mqO+|EA$2KM0i zxaUJP)go;%qefkT3N6-boI|Mrox^-)Phl_Ui8r1E6l5?+m+y;fe)=fHwb0Hdj3yck zJz+xvx|(hG0)LFI<-`!}tVo0fTak!01V$V6i-oD~uwG5wB7?z(wI$2sdyW-FbEC)_ zL7RLElK}gzo?%Q?w_?Sb$-AY?{`9A-1O>XcMuXV9iO|(huGg#v;V%^UNTlNT^T>s^ zl}JGe>7`paW{8jt?20BS;{$H8!A($t8TeF_+tX)wj_IkG{?BWg`GskPPY%fbAcx05 z)cw>g48nDUtXz=KCJYDJb1<^DZdG;l_O)v6=4SXjs#_6?JVOF6&f)_r2E%iBfwobt zwVTa!NU2=D8kWTE0b<7L1> z!RvR}mRrhIrX5ZYt%rRGWQJrDxq_;g7btYo)xG#yAMVaE>rc?i?0S;jZ94 zBwkyeSE~yJA@vO`eSc|MRQO4xyN*734Nia;6XL%G(eKFKL4|YQn2azYKvt+gSH9tm zyyBn4%tZn|li$ZC#7J^mKGwd7akXjXb#L5m6=GflyY69--Ovp3yN9q&F__3z6by%d zqYmmY?b_%KlTn56s{+76Nc_)NQ>HNf@Ar%0-q;^YWl>9S(2H5s6>vfNkvfgSM{??0 z?5_~AU%u21L3^)1KnO1S0NjdbWl=>CS-0m9$0XV`vYMEg*r~c^BRY$AV)J%K80{@w zGj3w)WzmXm7(EpIg&25!M>xT;Mx}=la;OuPn%>8nJv`IQXEO&eq*VrWILlLnS{(`| z08|lQ3bN3yJ0m=VhsRXQAEHHT+K0yZQ)l_`d{WZg_0d@6nYoRhapSN5TC3AWt;^$N za6$j&d$=;}wLZhwRNbroB_r zBzpG)CAhsUBrodjN1bo0UTk~l7BKfl40{%g zrKN%y1UwVuB)Br-J0~j$RlRL0?A&a6dgeqO7oH9oMTEGrH@3-8lA_(ZwFWw3H1wGb z@za(PLR7!RW1k6TlqSsPo*Dg;*k4#4Fs_T?%V0E(?!^F{R_9Y$f^ueq4WyM<5d~EpN3K0(b zBppx=6oPqh%$%NA7M6nt1H>h~x@R{xdC_Qyj$TfyHij`49^5EJE2$sqntnn;GB6c^ za18ImYBC4FRfCATi2FV1$wtos1!O8(E59b7)d~RO5LgU7_u-8mGD{~WCN{~6JyA?0 znO|ZQl%(98cr-cysBi@!K&JrEnm7Pvu3e}H*z!Pp4z_^=cX&1erE7Sm7>Dglzsl*| zLaRgdC8K0o)ZrH0Flk8xD06KA)3hTw8AFs8B;c*Z;GTX^5~HjA?uA@_`MSweyMHq|tbK>xUKvqhJ~}-bSa>K6_HCOj zd^Juer=?#f`h858W-(3dKIJMH{`>AwOD3ajUWx)-^%>vOD$b7HqjZg!N+1 zI)3F7T~0rt`@ZC%lo6&m zw^aX{*JY&N2eQDG)u5g6M?L=06`=NWzH;KUlWsu!PH#+lFfSwH;WOgi4^KnM_MPC- znv0Z(BK-W}^>Q5=K~SgI(760aC22eX4y=>tyH5@277KK0v8|xYghia^ej;|0I(fN- zn(DazX497U!8>G&(t&Ovo9RW(C$=v}4EsJ%i~bWTu`4s(g0Gq&b1dpPv^s1(l+ES3 z@s`nlTT%)va21Flp`G&%bV;PEKwceSns?D@-GG6M7#Ixij%w6opl63eIDbJiWAB`C zmW)RqvNAg@`NW9zb8nYaLx-arBdjN@>!V@kT@ZDgl)#Dr7P=k=)>yAutzk%^Y zd?IViP_lsE`7kH!U4v7{v?*N30g!<=ZB^d_7HU$cu+M9l8jl;W7ily*z&i-*x1c3`yxP*3UEks<9|g~8v`V>`GA@@2x!Q{`5OuVATp_{@AN-73_Lw~ z(mpwgs6`d7qw-%x&tjGMJKBH%?@c}+AhE`o)uO~z18nZKIu`QnrN;#w35?kblSQXo zilIqvg2$Dsg?5K{>o{F0az~%Y2DMg&)=4)f(upPt{6Rr(^nd9NAE1Lov)Q8C zK?{X{`M{k3NH<8J3Y3*+MrXA(hkHYe{q@IjVg4u@ekp~T>d=m|lV5CGq#pdcS&X?g zeO4Wi2}^S%S?AL%T)iTe?qWEKz|HK3N?|8RF?T-aq~ayaqdDM~fHzMr4dW%V5JwG9 zg8fnMSbZ3ry`UJi`yi8uPCL3+Rpr;v*&lfe`vqMXlWc#ajU4|88Rt%2VD|F}56yn* zd?m#2BSh3yrWkQqCQ!GY41~~EIL4_ZmkL8=bMT+M^{12m;8gYF-2Jl0de5)^MYKZi z<+--kWwZISDLj9pcDpX22uKo+-hU=3KnAWg={T+pMSaerMLXJxtB&pX6&O?=TEdfrEH1q=sP1_aHfgrQGwUPGjiD#LCVIt(TKV5jWNa`|I*nP-75byJ($<|(F{ z-v=}G!LBorT1C$QXebAt%?u6BE_w&#yXLGu2sFJ#foZrLBtnFf?#BxhgZl9V0B^je zVOAa=`X{or;T}Yo*|y&2ncV}7Pt=+<7BO1acS@}aUhqC?@ZRsDQd|i-hj1ys_1C9m z1zz`4+#_1IIv6gJY#k-dx_>inm+5J1J-kp1FT?4Tb)_WZ<)NbGx*mMfnPHz$MspFAaACL(2_cFd zQbO{2LRReof2b@UddzLzd^}k9ab}we@{Xgisd46nXdF2+vP+OHDqSWk_ zpEWhK7`9(WMJMUz7Ps(K`mC=9{)TaK^wRW4K$BQK7VlOZ;Qc_ecJ0-RUXox7y?=&# z6xq>Vk1;}PIX7kmQ9jAorSxT3T*fpW)237YFG?U$q-IVpd)?;@MI(km=ygRc(-(T_!sRMC zBtg)Yfgf(?-E0-k_;fJ`eJ~Z}<3j*k(L)J11FHZ}X0LeH_5VfvK=AKBj0f@A{)SYf zDU(cN2+<#4IsE`S)e^vJ+n#|cO}Q;8X*LZr%U$?pKf4ugB8;RZiPUoC`FMvghf-nG zBoqYQsG_1mElD$MxwgA2&p~Sa7n!og`c^>GZ?1TiVJ4Ce9zg2HzIdguTax~iRUi5^ z^#0IHqpYvDx6wrSsDMa5$E!-;bpN~1*RyNHLvt^PjH;?C3t$;TiAXj^I;c=xG+Ea! z0<2-JMyFizxOF*FU~q>P*(Tm%oQ-f+>&&roBjQxO@K?_L`DnWg@7C6%yeT2?^!XIg zq)BANp0xqcl&eP-D6glR%Sz3OQ;Z|D=7Qj0&`m|xGGHWd_@~wvD>O*01d2^BISf&) zHjq?UVEYtetcI7>M5`%w@zrBk;5J8zQ}KGYhK$C~gQO1W@>U<{^K}?vFOb9c?4_;0 zTm$KO()PRV~SW={G)QbNv*_;6sU--LmJ7{E`y8Whl*4hXIikNl=}l$~Q29E;OX6EYY<#A}nTH8x1^R z^zf2P3I|s>u=+OMor`&UxxOMPTFF=)y)$xQR=byXD0_05kf36+wzfyrRlg*+*@v~L zKIWVVjZ)wSVc4>j`WEM*rl^64w#?&B)wT0eKRvA^VB zrQ@H1N9F+tNKIzA)kVG}%|CUkS4pdh3HIRd; zh>NA^z~CowUUj*w%iZxr>;9IOmIBprM=U(8cAdrbp?}}6|Lc(*EWiRe!b_2H8lNC! zqqryd_))ahN?g&v;G4uFzwIMmR^ z;AWe|G!?Y!7mdrvDDM_X6Vw-lh7M9u&;ZVIXx5CVa;E!-kc@Iv;EY&gKor4uCI0j^ zNk!X@&B-Vk&cxh&3W$cOSy*BKS9k#c%aR-3+SQ1R8`|1F78CHjiHaNQ9u5`G1l30~ z>NI3>>};z>ct71=6hm~;{rC5ziUHw!QxF?G`g`)JWdrTQO6PyQ`WhvqrKM#J06{EL z%!ZjMRF+^|E{P2z5dDS^_x)Rf`At?9>BSABewSRMuY>3d4nh|f1Al~&08bpC*A9h? z0uc+tEru3p*P1r3x;+B=zYmR#p4V1Zvn9#4VCmZDa=+)WJh?P!Km*ACC7HE%vk9VJ zg2*HA&7(dvI+}2eO2`urpec7NN{?zjdLD+#m)>vzw@RO{Ynd4A{l00Mg3m{Qwhl z>eKt|kRCU^8_l8dFZlsaI#Ou6TU!d(AqQ9(7zbbk=&r6$07Puo-<2#jJzY*B@*@cl zCx%8vaVbr^tN`K>DW3^9j{$&HBNRs^4_3Y1oA~Y^d<0BHxy+LemwC%3E)Xwrc^ITXMBEPRZRSJ2j4K%at-mm|o27NR*^9;v;s< z{{2R_$^rO`i`}apLWy#sRft=K3wcm-vWwd&!Vr&VpwoDI?l-MkYVtCcnS+_c7VnR% zH;f@sO!%-jibFdQD)EUD=%tGa*J`$dGCKNv4B`**WRbm%t<8i*3SX`Y)uL8VZd2wB zMcZ>+tqZ8R`VHBBN2DkzEPFb=-amOe+Nkl2Sldf{4O7EXs0P;!r)|3EeVnV&UEIFM z#ZvCy_sHR}aOxfSJHX=>uf$oJAO0D3kc&N@RO_d6xh?DkJPPN0)3cFTe`e9BWQGcU zwhY-W(ScjNy!aKH*Gc0-eoMTGmVjA~O5u7$y~30iar|LE4pU|t=4#9#VZVIN0E#Ie zCfoGPK#adxoU|w)^Po+}!$5)4X+3vOr^2R5o9k z-s`BqcW$dW%?D^hK3BJE1RkpN<%`%cC5`Hxjrmf-AkHd*a>AK)tBj8c?i|Z|)xmWA zvuV3D?iqBt6XU8jN88R4?V%s)|146YnDzfi7D#R_%hWGRFE?8u1N2O?@`BIoZ(+>a z#Gr*bTLOMy<{;3Z)M6i1f`I$vi&^%quMyrF$^b*qdX`?wBmfQt9=>u+AyOM3ALPeC zZX@{>X~vE-*84r6IfLdl---aeOsNl*qK7WMB*mQ`1pY&U^~;-UG= zXFXrv+?x!&su0enM;0FYOUHu!R#e5X{&d;|zr~dDKb5Oy@Q`yx{N>|l^l-awOzl#N zy3PA>+nzCZnYA|)k8mb=dXUz0zlmNS(*p?Dr>UB2?P}yZzAh3laob=v=r$WBc0Y@| zGD#fQ+|5l*UlAe31mV`yMlJ197cXC-*ni1<=%zOwICAXz?A~=nytj6% zKa7fFQE;Ait5BSuUcZ>f`%}CRW?}wy+q}ko(oZIB)1RfbaB-`grp6J|eLBW;8UK4h zhegH+t%@>OaZC@FVuz7njWhZD^_D_fAy9E)iqzU`r=3 zrOvVRB@|$aL4&;-CaW&pzrhNWkbzXF1sJh z^5o0*Oqil#4%_F=nZ1s|2{0FKQ_k{A3uDK*RYQ-DapTSt7{mvIlxP1~ZYs7BALZsTBIj+Q^66 zC>VkDlTt)93j;LJ#*aE<7zU|8N*LY93lZ7z*@*itT?qTEq#%%x22vuWJs-@FsmcT} z5X8jZ@n~3iR&J5LxO|2^RNU`ViIUcKy!mURoip6Gp5>d_;rJHAv|(%$3b>3lkY7-O zLtw=YlI;h1=&m9z$8AJS4@s%zNH&hBl z8L8-Ty)Gt?r_WLI@tTx_`hqOHzdcjjpfHee@+&Gvczy{T68S|xygczj&)F*|$)RCc z_bq=JB$$&yT;KCmkIgu1_BkjIiiOkXc4NQ3-&d!jn~v@3n;p55s(qKm)uM@5TgY&X zzPljzo$h20SEXFwUP2UX#ZsXb4&I?S!JY|njnoT8xZprE*FbnwudhS9ilSfP^hmvV zw#OiRGDE;NNuA<4Ja=U?-rVZCuX$|8%w=33)mBRDR99A%<0QN{h1pIO5TiT!DE4eN zn%l95fiy~O=Z5raKMwy{p>MCzyiPvvip}E$|2U3jxdH7hE*I^X#$)GRA*5Y52nJ5P zLILhSotjn2hkhHhnBxXx@eUQI0U@f@>w^+oBg`X5R?JTEU(2ki(>G@)_S-xlx$EVvr$ImRZSd0q%; zNw;UUtSYhXznXleyWl$Skd@|X{4#eUQl!|-AjU;VGuh*E3iF+2cZo$>o|}}xKiie* zzDXoceLeV-vIc+`o2uuhDZsoF7Y9?)uKD3AV*rK7p=ILgYyq0p!A_#|2kS+>iwXAR zX(t0rNc6z=5yz#6cI9O zTR6uhXt_&2*4nFnn;+o3Kbh4!|BTw4TQ<*Pktc74&Ea{Hd<-nCk#sNdM-y=_#%>^T zjYMZ=gBgu<@7MafYJBr{BHeH}q+9Jg*ze$vG~(RcrYG@A#J2xkwCs{l@me!Tt~@7n zpSn3OpI9eu&kw|(qV`=fRvQm7doa=eUZp(B=Y_{zcfu!6a~vU{{$WDCc71Fz#21^x zZi1NY6QI5We($EqXvf=i_it87`r!a3SJDP+H z@Tls>vuQLcs!2@xK{$0}R(h}%c>m#^V2xPlPB>QH7E?fW*Ye(I!#+lo=3uazZCh*D z!T|ckzS;d$4rq#C5fXlRD-XUI_NVoo4DSG)!FC%}`d5+Ja3QCGu+`)G)v{VQz%Mgg z15_r$fl;+G02US8!$d022@I)gS`sq5Ll@U;ST0a6Pq*;`Nbdj(SfG?qUCp4?x+a|N z+LJVDZ8T?m)n^z5(|32wWXS4G+fgSS9Hr$IOXm%Bs_7K{l3w!z=hdCUHl;auQr`6M za8YjBUq`LkG$(r9yfjP!2d=RN;mei#U^PD~@1{^&Sz#61X4dD6GamoSKZ0yD+Sahw z_NldLVDBpF+18g`TNjs0DV}m?>rB(x(uS-I#%7%_=sov8k{2yIUm0>o+mB;?Dn>U8 zj{z|HL{|`Et^V&MBJavx8K|Q0lc@|(Kf&*wviIp$e;xA;ij9xyf))DfSF1_=V*1q^ zA}t+054ys>6vZ1fIZt|q2^QSJ5?4pJ8|`}d3xktxU?Gx$(o%+#?z8Lj9b#y!WsP`F z;Z@Td(iHvIDffh$@6QhS5dP4`q<)piGUycjP!LCDK!v*bxJj$6>d^e=6ZCXw9$235 z^Y<4WN`^kil}6h6{-}w0Rk|ADk_p0}6O|CFjs?V!Mq2iR$Z6It2eh|@k3Mxe3y;pK zf^5cU$G}O*PssJUi~msV$Hi0o*R$l{@)!3l(D++r^p+@caKlLW9~Qu7O0t7w`>@sW zNTYe4yjp}_7C{Jih1&wogL4<_f`C1$X>R<|ux&FE7xbe#`JW+s&dDeD*O+nQW*p+o ztEsUJeg)KYDwI-wY3n?@Jde%SJkwWgszcU;AEft^MK|G)y30O#EQ?fZ<8%(T5Kmz5 zCM~1HikDCL$L+@~j&%|4*w-Tg^WnJKBay;vo4Tv&>g9B1Wrk*tIdiCoWjcwYII1Uafb=I zg6{pL#Tv=Iog;sN6P#@h`)Yab{(x35wfusl1E(Y5G%0=(&g|SF8kiIAd$3r~1TYzj zREVnKHRo|KnE8s(Js#l?c?N<=r3D&=%fx3wvNAz3Xupn*=%q0_)0O1xvOaWu5#?Ya zUT5M=>au449pBR$PhnT{(kog?Z?ka<9P;_V9{pQnqNIcoK`f|u;|I(Ea3WrSoHi6l5IlyqJN#Nu1L)VZu-O^tNV=34H{)Seo zCkMbc*T;5l==pp)qaL>3900moeSMJtW`>t{w~PTYHa!nXMc>~ExTqupS$&lB-6y}Du>EBaYArgK3hjlev|M-(-TE=kYl=p z{`t`LD|kOR*e~H_@8sDRtJl>voI`J~jfnSiY~KI@2Da!bKXb~>i}7o3t6_c<>wuKS zmtpP_dxFEVz1xet{(=5+ZJgz+VL4zvMNkz}QQ0?UKPzX|dnnNV_+*s6OaS&)K0EYs z)sqcrA4AQsjC?4&5AhxS85q&56*ocCM=Qz{!{sM%@wre_6$i-8a<)7=U2_hBa8~Y~ z`xut0CF5}FSZF>Vj%a6I%6J2NM-s;#2K|oolejk2bdB<(hh%;^pFD0#h2gH_0*Bsj zmX6Xto~ps@iCDCiUoBm1ObB_iX1;-f>H;!@zRuS`vB^#g80=l*Psr=bwVzlZkw#4j z>>sKgI@|^b#fUXF(iTonPVJ^w3l#PV@09zlG1f{|a;-|+zFz*SE7fOlKJjRh_w*?` zc-UEWn+z@I)QE|0h+5^`_bgg1t5dB%tGsP~G*|YOvs`^>pwfSw6gqHn)-GnXde4Gl z#xJN3)1Yc;g|8`?ntpdlgnucN%dJH;|23ek)emRebVu2HRh+difOnkk+TM3Po|QjZO|Db<9!7-31pp^p!!Sz#>N=UdaBE@zCujJqArL6xpGtF)&0(wd ztxQgEjM!w@EIMpA9sN9Px0;)0OB(u~TYSsDgiAu=7_p`Fs@`hL+Z9eclIcIpJR+pL zA(s(Oq@6uZl+IIERGzM<=JvdVUoT#9!HzQ4_apytYp*Hbg@9i_!eB>QZ{*3W5D)4v zWP_2zjU*ii2A5t#$RP6Hfpl$f>oYy*CV3 z<^uO#2qp#nqj3$Y;zM#_zaBmlvAt9e%GUfA3JaZwuY~B7OP;E6dKhc#nb)Lh(g>3+H84x zhJR5aq0LxwxCn-8a^QfNsQ-S&cm5kL>!9bM>~@u+0shbKs7&2n;Io;q$3=JmuNoi0QxQ+;(OA|3=&*Sf!9vXe8 zbId>Acj6HnpDWI)8PGiTCRxTl^*Rf=E4n3t!pJpoB zZ2MbVPn$|t0^;|J9e+7+3F|Sbr>jT5_V@1&n1i5hkKL?cKhO#sZD!x)&GV*e=^ic? z$sU^Z{YYl9aBK1UKqoQB%;s}ZV`p~ozU(Hwb7VS*bw*ScUY)%B<7rx1jXn8z@25KP zbUM0fUu$Sy2;RBc!2hh`v!uu69j}>S4+<0gRWct$`=4?Qc+quRD6J^NIMrmsiv_5 zBO&&S-e0GnH#`n7)Wuq@wzVeHegvOilu_z8sr*O_hz|;qy!4OQ51oiy)Vk^Ak-FOG z-34qnXeH(#{?h|d<&z{ipnDu!hWiVZ+O{)qfv5GBp5t^i$u9jX@_q1Kp$SjJK}ZGZ zZQc*U!%4t>GerJv0w+iA&?4ZP1!}g}QTI?$A@KVC!$0PmAHzQY^9`J6JsFLRV7&Ij zyp|>(WgF!(mo57}wAPrS2DCq@JalrWF%e!+d;fJ9axuqg{s-!skG?nUVI)QwIo3oN zlm?QBx9g_o;UUw6$9j8nud#gCnhh1T&p4w9mWle-n!CQVejA)kGss&rgY|K*!`8viBfkd!sUBs z^>$}3ck9v3zaKLmQ?5{#x4%oNwWZa{!l=<+e8N{4E-evm5()%e82&Cx>`9^aJfoU2z7+scXIwtu1! zd=T$d%WrOPOzyJA9k;`5gyEkEQ}b@^JouikrcqzzzEAS&X76+|LiBN+!E%fDb5O4X zM{;-CE;itxD5Ox=_0a3=cNu95SYm#mJz(y-=&X56OCv8Vy%|JO-5Lktv44^&`L4aA zw^S;9delZY64*Mk`6n50Urp&O7we@C^>Y$;`;`~nmY3V``ez56O-*OZN&8Fl9Ua&? z`If27=di1H%bHJP{JY-K2neLFvBEu#17o%_9eK@MH=In#6pSuZ-Soy3f1(LxRsigP zskccXx@1YJ$R`w_nHCwz#w?LAY#2#ZZAHu7FzF?%z2Su&t|or75xj^eRa5kL<*wGl zVdtISDU{o1eAU4fq-ub_2Q{NzT0FeMw=y7?ZHZgRfaNH(g9CQSr6U0<#72D^nA;Pr zHV#TV1tylPi+5)b`8_!{9nkJ}#_N=>E_?IhYCVBADI{as3#Qc3GFwk8y`er;ULxhD zSKQs#&JkVcz3!mV0hiN5eA!d7@O^SWrtkKKz0gyXw^@|wf{TO2V zR@qbhsz$ZX#l_9gHave=)bJpe_}33^=kb8#oFJqSLcC z2!B2fw%AO^00u=O6j?Wd318N=dGr-nX9zbTiAm!>@r*CejL+k#*b-=NK$9uo?ajU- zRMD5^Ibq6c=aNM|+!@_0Rp+M+`(SwMNp^oa{`(*yHeWn;#nBb#Q&p^iEqmmkD--b) z^Z;~&&`PXHcyUh>Wv+4OL0MS$#W%H>Y(GJDw>QeoV`xi)LNJ0e{h?1{9|S(#w!R`n zjEMaz6^bGzdifIDt}9-fOR&m7;ukab&o-%=DKFW@-cld8U1#|{?W=)UiZGIX;A4+# zyBJ4TF<=Aqvu;`f42FQTC|tPyl!H-EJ=JjYpY38+K0M~aUNsIxZnpeoD^sLenmXg_ z0!|MZ?IlIr0;le_ixaKN!v-e3@B3#poy{Uks~=L2*&cL$HjV6=?`Y!N;?Im9HE?8S z;D7u><+WjB1KfJ8ZqYkOO&bNWVmb23tYRy?23xoQ5l9z4;v=`x*jQP}4O2fS-z}vx zcb0qMjpmnP8p`17<(fae0nD7tuB!TNC9ct#H&EovIYPGqHcT1WH9MmWOo$K9cLzD5 zGv#%aC91_>->Fk{@{VNg>V9qV zP`KRwo!FJrZmT74o+0~!f7bZb6jk&%n0!ddGRBT_FYvN{l;@-24I|=hJu>@69 z6wVK!Lhc~3gfj8R>9rpzq7^MEB~}uDFz;%$J%?Rm16Q6WMA75zi$ioaIx{B`V zqPyoD;~kG~zB3Ulf6KLi*X~h(@@%Ny^<1};T-vdI#W@6K10PS&zl0@lR^keejbgqt zi&6PdAWP9*yNEeA8KUe0 zU}eP>FI+XW+y34+4L`_ipv`K2_8@ZDzK#Cib-w^^fX3GJ1;zvX(MEZV6U(bge0hZ4 z3xdxgHXi%vR$NX=-Z8SPwej*yA6hC8^!9!?nz}5l80)BenZ?*@x$-R9U$$Ue;Q=>6 z9qS@%X-+!O`yiOd^fc6%JwYBE4KW)>Jb?7wNT>>2q(oNZ3*N5+6F+*P6 zSgKXoS8Yb(yUyJ8>(1OR=gNn9si&AbNVp*V+4kMXkPFqcZ_)x#@ffrQe#j9TVDG2J zNHRm8NAh~TkUJcwQIxw9HRW~;uy?{D=H)!`S+L!4{Yg2!H%|_)dyL!3s@$tg{ym69 zSNL$LDRyn?_VX}zTuI-v^ZLuYdLa2aZ)3(~QEDN%l1BWJjBtKIZF}`*RWPmkW+^=>UOYepqi5(Y3PQ zfCbbb16+`7__nMfc!uWdS6h-*M&Y&FOasfE2b`!sw_zlC_dWJB3tH{)H^?B_fW^C2 z4`Jvc<;|r5Wie}+Nm9*vp~om6&k@vbT_WhCj$@+kn9$8|5(A1&Lk2QsT0R`JXb|Nl zyF!>hkFnl?K_z2RRYNv#_>=?sIT{9GWe270ygra7?8W91?>%n5Bi?m1<0jwK64%&$ z>dxKz`ocnx!M%%ewg2YT{v}>{U_PrxN#94gHCI7moL_A` zOJL8j9cxasw_`;enw);Z=M)OXNwq~Iuq=q_B$H83t%UXT=A8!04)VkZ1#IZ73t^5wm7<(7v##<7n-~O=)U=B(IiVq}!X2&8PS7}0BwS4_lC!JT%SYA}sdmw%( zp9WzX`>P9*%J9Yc1r42RYIW-&WmM>lg`9azW$tpOZeSS_kVH*0&d?Z&96@`gmX=kk zlF~L)SVZ`9DytpwI+V1Kzk9zKK(-P<&p`PAB5q&QhgC92BZhcksV%+H`|`k&wZ74K z*tah~O_9p2gx>U^iWzG9*RLLZtZk@1TzS93G=uHy_a1TM2lVeFZEqoRKlH8quv7c6 zRPw70&b$5+*n_p&eEKJ>+~_ZnVmY>bBpi*N9!r7Udj&EU7b6qWxX3k}U#URd*JAv) z{_TD5aDI)EdMb~+6~Wsu$SX`KGzjnta((&Y4{<-CkZm}*UYN(iQ^^nuib7%%6tsL_ z{)pa$(@TkHj0pYngOWgG{7c3auc}kJ3=?Tomj$5btIDk|JY&V5s?04jxRMN*#+*6) z`RUNK>D%8U`}c-?6*&fC!6+N4UK~?LhOTBYi7Vskjbg${#war#`vm9}-a+*OVSq4^ z|318gV^-2LNNp#NddA%qCBu@=?(!%&M}Ln0i(u{;KmuE0f7QzwSaGi6doa0vWm~^^ zGbX#X-AHdo%6hk7P4PRAdYffa__5UOX5c=k{#VI({Uo8Ks3)psd2pIWts*Qw+NwR+iEQf_Hl z4Z3-j{)65*Ws8*=N(S-CG4$>}`>1TrsDA3oUSipV;c-1wZS6#Cm*Ph0b^E4IiWTR&am zSH5E@rEDI1$qBmwH5&+Kx2$ae3Mi(49y3iPIfJ<)E;AcOYfW17o%P!9_J2BI4eGKJ z-Y8KcuGLTLe1!fjSPumUFRm!>MnD-MBpV;7=%0`11O>wmW|kEbiAlD+mEo<^sw5X8 zit<7Pbo=Q995#}GekNXcf4OYz2~uqXR}+=`p;^5eyV*t&Ly20pB1M0rq7>!ljH2eb zw8q=Mg$IF2Ir)L*F6d4&hTgK(d-sV1m|At%2>k2wZe<4WViOkcv1~bOYHm)aJ-&Gz zO}Townj=4&I`8tbq`Z6~fL~cO)LTsb+8!Lx&XulDsJBD4^|)8EMAf`0wPvT&@uFQ! zXs|W#4Qh9_(@_p?VC>}}g{*xx>ad`;eA3=CxQ!e#z|hAcLed8bv5Jx{x#$1>HejKp z(r5#jyJEtK{5b2@TK&1KEM9=SlmrJ6q}fB`y+$T_XYH;!uHQOvg}EuOrPyO%)%N)> zSIZLBa_sI?bqI$QeT0_#K?4IR#(di8^vF;9!a=#)LAR}(xnf_5{_py!=lbqD%g#j# z4mUppKHnonVZIC!xV2gRef^tTvIEN*P>q~KE#NOKA|fK&Qs-3jp=W^=qfR=RTO%{{ zfmWAOh&gX}CcDnbXNy-OLa2)JxG)aUT|wHxOQY$um@Dea)66Lag}w;UIJv3ZG%>qo z=IJ`-Jbhoy@?(WR zJ|kN#`5fCB-!raaf|-?BHl@e(h%dLt{>>;<0vDEA|KKa|sj7or^YI>~aDHf)AC-bc z*KNHB7IrCp+izrSEwqMqfm|kUU`{eGdHeUGSEZQXzvkr@`ca~N4Y=&>uQ90ZmEsbW zbf!l7`VVI@-+*SuvMxZBKT?KYIS&tY^LKVhwg208(3@r4dfTOxW1wL+Hlb^hgMv#8 zLs|RW!#{oqF<;?~}9A8Drv;vb_f$imq4`=u62mBbEEQgRKN zuwKc=GoxaOgtYjL*|rnqMb z6V7t)76)quh@T$~>1_CNnIc%gTR5~ssa0Lfze}4;pL(lUeHT)+7hTPDiQ%i#=6eaJ zX1_8{8+#;iL?^Rv@igiu{TntO{n`5c>{4T@uhVwukYJsU(+tu57pJovCwEERJmq5s zqGac!W6LLbrU#viT%y$<4S8mI@>Ru~`5L>EHwIIG<_!v-&RuZU@4d72!%p^krv2h( zIY7@z!lz4^06|Y2biGJd^${3hd3^$PA}Ps3Ee709@_`nT34rZtR6t91a0K8k{$j_? z{&RPrIyeaD3}X7+OHw)-t;#V-nS%I&kg4=T+qwU=Ma&yL$hp+(d(g7BV5kYLs+PY3U}*( z`V|>^595_YWg3C@4f2LB`T;NfQ4D}wEd8wV-fF8gkX54UmHfJ-J1IyvXYP=fIJUfZ zy1&Zn8cV1lZ||j_zwfD>KXI~N*{xw;)HLO4eBJ%qe2=4b$One$(Ewy}K>)v_5^t}I z`l9q*XtBx}X?A(eL2a!6W|RHH9d|<@diVUrRNklQ@4`WY@c^=_8kmenF9xQ*8N*3o zhI8UC{^D%)d!Nea$hu|`dJ0HC$cGcx4kXp%GLWRc9>uz23g;0iIKk0shJH!%OCviY z;{^JbrKLWkSLy{=4Hg2~S`t94egWVxkRk2FUh(y8aPMQlIk%bkgJ3!T0|Nu^=R%5t z7WFqvFLMqFb=hP-ct4eQ8A19HW+tcK6mew~g&OXYK8#~o{y=4sfn%}vhyhjOiU^)4#}9I7uRf}isnkp!JQB!j>S zAHz)~gASHoSZxax9FAT!5xdb~6{bw4gx0lpT=t%K+|o-ma)qw(J0`&2DJB**HHNAf(q& z8|k{3cye)=MVGVXQy~Jx&X9Hek&I8@A>K!})iFcMzXWED3TBt0_<8ewY!ilNuDnkZ z21&J^dFqeth*;TR=y*HQmkil5uPX-@ufqCo%s`R`0dw=`%Z0ojF%=6t!^4#Z;$L;@ z{!1hAw>3~@Y4^^`fy?1qI`~bSf3X;XXjNoR8U&gy1_^iDx3 ze`81mvsZm?^aupJxqkZDiH`s!29okUwwSE>&Q&o z76fu$hwi0IJQA9H9@7!T<`h~7gu5~@qzzQ-qqI{(VlV?yIIz7;uqv!)WH5gM02g0A zy-syiPk73!{nDxRFM?>H;?uQj@H=7BGbay>wjsgZ*z?GWVADWCzmDT$*=nG=d8kl| zyhwS4gN0RyIIvaMuJ$-0Z1=DfyP&nhLXwoBqKELrDt~B59GPM&Gz;v6i+WtKJzdp} zTe?c^P=`QLP-m?n^QTe9o`7mdx7mtjbeOD}TPTi2hi-$s&UdbK`7z;?{ZJ^>p6)$7 zbA{lmTn7|y+%=K%yye~ZsbUm1s=@urjktJ~ot$XKgnq#y=TsypeD3zWp}OG_4@89f zq1SOw8m5ArS%2D#B)FV&7GwdV%!o7mlE$VOHx$i=Pl>&uA(!DG-_y>lc*fQow9f&2M48zgYg5>@DSkuhTx-j~De(j85>{O2|Gkz;h3u|l1& zzDh1)W0UUjVnYke_F<{ARrGn~lXhp|;UkbOS)!gukWf7aVk{d!R7jb?_~F=QYKz&n zGAG;*?xxRav1dXj{eCcfA2+dk5y|UQJ6l$6>n+>$S=LMY>PX_(C+oQ5TryNr$VHt@ zdD%$mj`DB&e~sP}XRKbRY}3>_E4m$wgdNY{JmKqR$7YXuv1PU|5VD!psE{VYb}krp z+%>(Ctg2;~4!fxtjJ|i~5`| z|NJ`nsw1E>dJUGt%S3I!ASG1*Y|;flwp=pr9daLNi$NMz`5c47-p%YSvF=N!N4Gwh zWEeSrb+-M9{T$cCLHU<1PqQ7FsVS9ADu}&TP6IBIZDwj?^uG4q)klw3k72eGuv1I^5?&1wLA~F9qAu`GReO5hme&pHD6ltfUo#=* zCmS-jRgdyJRobUyhJJsH#8OI1--_;m20da0daN!D@lQMEcctpX(s3FQ^YYtR&5Q8W zlcCpQam_p=I!Pd4utuA(B;=$t%^E>FnBpv+Mi^kuH_GJ8=4u20Y;bcWsh{vyyABnD z+RN6c`{aTq^%{B3WHTViCR6*fuB+#ZO61|B7UhB-0pMEQODy!S>@ru8hG zT%1^&e2``R;U=_+;YnCa3ooDvMegP>=2M)tfKmok+GjD4On>D&@UzVYegxU_!lu@+zXA zdKJ+pwWcrbH67hqQAg$G1A2v#N3b7IOm0|AZ_W`bG(^~n>>6HmRq4a(p369{Oz=-b zXMy_{8q*cNC~@5poH6NH#GJaJ4?}@M*f?Dxr{EoiAM+2lu;CTRs+w^!;^H9?E0~9; z$H$V;w8aBDdM_K(`C}i}l7rck#beqg+gsA0cdLl#o~zmN+jG^GpAEx}ppotB0;AsR z`U(j-G}$a9yr%V5wVy}!(AKFq?^f953_p4NMp$0}$oN*D+8u9$TqjVD`8Aakaz@5i z@(*0BgSqn9EqTmc;R$F(it4rDZSbrTuz=o1Ixk_S{sz!ZDv~xt?*kn@ zrNl{!&i8{l^)+2KHO2p{0bt`WUbiC!BAF`q{q zNT|8J_plD(cpgzPGiTizW`%`;~Ta@z36qDtNAiEd5!>ATs5&GqdLap?~I6LJ23-u*y>Vh8QH4w z(P0M*pZ#}HlS z&wC3rK}`c~mC8VAn0c&I$juMc@d-LyI5)ebSHD%j2s9L^Lo^g6-lsypg9nw6BYM^Q zLJnVaulCJ%43`9?HE9PBt#Sw|ayE6dlm&!KUb7^nae4LtT1Gt%67p*wm+A#vbT+MU z2HDX#_-~J=Z!X~RRAXh5Ba5RdRD-!VJsnvh8>R5pjs9FqM$D?VL%ppuaLw_%wQ+g<7xqkTAj#E&SU8qtt zp;(cj^x5kBW{EqPcs;Q%T;-SuU5)?DCP5X-wx&7ujjnd}e~g!J$kz~|yq8It4c}bt zO@D&#*~X>&Bb4^*oA8AeIZkK0QNB=JpkCzE|LFNM8+Ts-2<4(4#aB6 zP-xH^4KYAx#Q)P+nI`TZ)SWI~8JRNjPq*j0|Npx^H%!C2hZ3nj09H?+|DXf_>;bFc z1}Nx}XoS0n)x*;(J~rpcS$=!nv=6Kprz45Ws5?n;ab7AR@a#=D^=2Kr2l3Q{6Gf|l zv3ovT+Q&nduF3Pl>~)P;Y_J~5>FVm*Yi$Pqj~_&+kG$Ld2s^f=2PY~ra&W25TZ(b} z{wMmK4h`a;`pb{Q+cgb^q!DPN=>g~*UvM8wJrPX9;fo*_ZzNJ*O=)0~3GWf$7PiDXzud3iLo*kVR{ZqX6Frl zfNFnvDXDl`!wy#DL4(~$V->9}AT2f@kgF?scyN8iV+s6`mseu9(i$^M$HG|9T46lM zG?=6d z=~7xB@4I?R?)>}JC3{^<6g;)=lH${(q>!5RHIFK>2!TZ~Rjdz)BA{Vpi~-#H62Mo> zbQQqB#+C@!Za-9c0>8-*0QAX#_yNJ`GbJk2j;(5mq=rDUjohrW77ip!Fs9$j*A1#; zR?Zs>gLV3itFyj=EX$bnlqj1W zgPN;pmxPI_DY}5jMws;*0g3C~DN%i78{W+l>t3M6a1Ut1$)(QmPI&D~UNS4~ta_dB6L2|zQHgo#rFSQ!|7#!m*TUe?0@$S;D0yHY5QqhkR}D)i5BfP? zIOwH)6pa$sg_FQW!53=9N%%pM?IB-BcpRUn!5+u7FsCqS21_bCI5gB#o3io*Lud{7 z%n6U;8otkW=C2muT>X{DRdy_Fos|OC>6}cNhZNEjPe2Dc$n;wQ!wDRq75!c@PD3)} zPFz)0lSgywC`XTpZt3wrKI87t+ZbCz==hbQ)Bmzppv>^P?G-BIFfz=~$T!z^Cz&Cd z8Kz+;jg5>X_FWybjLz+pI0-)Ak^|={xrFJe&im4$Qii54L|@$vwQ0ts2171*`kR+O zvgkW13C9z$Nh@r!t7c({hop4kY%RWkwbQH6k&uu+0ujbM4r~6{Yqu6`fUJ*z&!bwc zwWt!kSzs+S$AH!AS7~lkz0nrISvSl(NrnI^pcl#l$QuvF7m$5pkRLQK_RsIt5Clc# zj|#1hz5u*LChQ$)3eE>0zYX;4)-l|mrP)weP&CZ(`Lma@Nf1UtB{OG8t+IPWliiQC z!IUjb(1(b1_@jQM;i(W89-|N!{D3|G&Q9O$QfdwTD-f64VOrtG@$K`3B;!4TJFhF} zr{WQYqu?tZou?Gs)#QfNSLGtPpHVz7AeaZ%Al$Jm-qgRN>7uWO@Uff|PY40&fuT4e zvLR{Cu(J-F@WlYBpDGWeq&8cye7@kTkdqTDAd*a6n?o|jnTHvby#vfIh&Qy}6x!_` zELX=XOPfM#Jpz^JHMo|csd;GWEfQ-yVfffIUXQnqpVXZHv0($(m=LAt_w)7=byh>h zMxJU6KxFAh;pqr8o(}sHZWpNhZ`0S|e@tJc5$*ro0KRXaxI;BB^kCZO zED+%!shDQHaf1xen|kxNxR@B8)k^d#4UFJO+Alj*Q1sZu#6)$r#M0D50ON$^*@sWl z`Bv4Brswm!O06HyH$~@wrHY9+$Z`l7hkkPKH*h1RuX=2vro%UZ02lj}MG+yp6-AM_ zSG{uO>wLr)*$rIkfCO0+*pG3kc1Mm6u&g5C{>yde?vZU6M(R70n76}#0IK#S}O7ga&m=8};7gpFU)wRA)Us{3WwgPc9Z+H20){xWM;F1iG z=I%1kKN4KBf+%24M{_Z!V?VU_&A}8ZAXZEB4VjSCbfKIn!Q&Guseo?fL>fyF5N%IB zf8_@bW9G*S+}i-^*k?}~+t85lVD%n=au(R}!t*D=QN#Y|pN9Q*hrGFB*GX97l49b@ zCYE^}s*gGaS4AChG?v21B{uOsf831;m+;K`)?R#b4*19UosYA;CYFstcg|Xz$2}+7 zvQD^nI*xCAR!;y{kVw1L=v{58ZS8S^qJfq-tn&f}(aL_si}a!ATdt`Ak}`aKcW8D3BATtJa#L?n zM-PAK%IylRu*{e z$!hZ?S7OVp_vuY=DSARMfv9 z)R|BGMIuNlSImVTS-CZc@I%nK7SE0jA{D)k9Vh4C@m0XeR9O}GZM9t17 z=6pxGL^4PZ3d(znN~$GNo(&?Do9-~J$Co}EwbE{6ZdXt|?MHZhCvu7>7I?`(7pj_F zah#Ft8GNE=`7f__zYgoeaa3bis(H84v)$rfe63%QN|)=~n`Fiy+!lS`3h+;#;UIY= zCjux}R_C|_rXwla{$_a8ms}e_?4fIP_ZE9UZ`r!f1btljGz+v72c8bIz#Ey}BV*m4 z4H*OZWk%7}8;k>i{$Ma7BJ_Vfh^;Ol3DbN6zll``C4y0eB}Kd#6jL%2deyKQ^&M3@pp~dp^Kz?5x zi3yD-s4b)j{yki6)bkr=z}x2(HdJH$`RPIH)0{Wjwov^>=7K}?1kgK_cH0cxy5%ep+V;#xyMd?$D~!v z1mXtIZ?97qmGdfH$AtC5}_wpppNNFM*%mHuwd zysKXls2Axvetc&Rsc@uIfP7!Bbz{et3p^ZxVPd~bf=?;2wm z#k#V$pr-2ZaK!7s&IPT{zm|xNsU;P&CcH@=5PwB{moTex1<`1d_�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 Date: Mon, 2 Nov 2020 22:55:43 +0000 Subject: [PATCH 079/127] [nodoc] update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72a4f4e7..1f68adfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -374,7 +374,7 @@ - prettier-standard: include all js files in the project [\#177](https://github.com/hopsoft/stimulus_reflex/pull/177) ([marcoroth](https://github.com/marcoroth)) - Remove implicit permanent for text inputs [\#176](https://github.com/hopsoft/stimulus_reflex/pull/176) ([hopsoft](https://github.com/hopsoft)) - Support devise authenticated routes [\#172](https://github.com/hopsoft/stimulus_reflex/pull/172) ([db0sch](https://github.com/db0sch)) -- setupDeclarativeReflexes export with UJS support [\#169](https://github.com/hopsoft/stimulus_reflex/pull/169) ([leastbad](https://github.com/leastbad)) +- Fix compilation issue [\#168](https://github.com/hopsoft/stimulus_reflex/pull/168) ([jonathan-s](https://github.com/jonathan-s)) ## [v3.1.3](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.3) (2020-04-20) @@ -416,7 +416,7 @@ **Merged pull requests:** -- Fix compilation issue [\#168](https://github.com/hopsoft/stimulus_reflex/pull/168) ([jonathan-s](https://github.com/jonathan-s)) +- setupDeclarativeReflexes export with UJS support [\#169](https://github.com/hopsoft/stimulus_reflex/pull/169) ([leastbad](https://github.com/leastbad)) - Trap errors in registerConsumer [\#154](https://github.com/hopsoft/stimulus_reflex/pull/154) ([hopsoft](https://github.com/hopsoft)) ## [v3.1.0](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.0) (2020-04-15) From e80f3bdbd26bad5036ff93779c74ba611d61e0c7 Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Mon, 2 Nov 2020 18:26:43 -0500 Subject: [PATCH 080/127] Add app/ to gem.files --- stimulus_reflex.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stimulus_reflex.gemspec b/stimulus_reflex.gemspec index b2d1e05c..2a4f7a82 100644 --- a/stimulus_reflex.gemspec +++ b/stimulus_reflex.gemspec @@ -23,7 +23,7 @@ Gem::Specification.new do |gem| "source_code_uri" => gem.homepage } - gem.files = Dir["lib/**/*", "bin/*", "[A-Z]*"] + gem.files = Dir["app/**/*", "lib/**/*", "bin/*", "[A-Z]*"] gem.test_files = Dir["test/**/*.rb"] gem.add_dependency "rack" From ba05d9e57dc3fdf582407ed506546bc4119767fb Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 2 Nov 2020 23:28:00 +0000 Subject: [PATCH 081/127] [nodoc] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f68adfb..04af3449 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -374,6 +374,7 @@ - prettier-standard: include all js files in the project [\#177](https://github.com/hopsoft/stimulus_reflex/pull/177) ([marcoroth](https://github.com/marcoroth)) - Remove implicit permanent for text inputs [\#176](https://github.com/hopsoft/stimulus_reflex/pull/176) ([hopsoft](https://github.com/hopsoft)) - Support devise authenticated routes [\#172](https://github.com/hopsoft/stimulus_reflex/pull/172) ([db0sch](https://github.com/db0sch)) +- setupDeclarativeReflexes export with UJS support [\#169](https://github.com/hopsoft/stimulus_reflex/pull/169) ([leastbad](https://github.com/leastbad)) - Fix compilation issue [\#168](https://github.com/hopsoft/stimulus_reflex/pull/168) ([jonathan-s](https://github.com/jonathan-s)) ## [v3.1.3](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.3) (2020-04-20) @@ -416,7 +417,6 @@ **Merged pull requests:** -- setupDeclarativeReflexes export with UJS support [\#169](https://github.com/hopsoft/stimulus_reflex/pull/169) ([leastbad](https://github.com/leastbad)) - Trap errors in registerConsumer [\#154](https://github.com/hopsoft/stimulus_reflex/pull/154) ([hopsoft](https://github.com/hopsoft)) ## [v3.1.0](https://github.com/hopsoft/stimulus_reflex/tree/v3.1.0) (2020-04-15) From 995d33751a891021267f103e18ebdad38146b624 Mon Sep 17 00:00:00 2001 From: leastbad Date: Mon, 2 Nov 2020 23:32:16 +0000 Subject: [PATCH 082/127] GitBook: [master] one page and one asset modified --- .../screenshot_2020-05-05_at_01.19.44 (1).png | Bin 112145 -> 0 bytes docs/troubleshooting.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 docs/.gitbook/assets/screenshot_2020-05-05_at_01.19.44 (1).png diff --git a/docs/.gitbook/assets/screenshot_2020-05-05_at_01.19.44 (1).png b/docs/.gitbook/assets/screenshot_2020-05-05_at_01.19.44 (1).png deleted file mode 100644 index a0796040596a010f956ac7a23bbdb8bad084c906..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112145 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

DEI#UdRgsw4e5C^OyOKx>wgfS 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�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 Date: Mon, 2 Nov 2020 17:32:22 -0700 Subject: [PATCH 083/127] Prep for pre-release --- Gemfile.lock | 2 +- lib/stimulus_reflex/version.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index bd3e0969..312baf87 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - stimulus_reflex (3.4.0.pre0) + stimulus_reflex (3.4.0.pre1) cable_ready (>= 4.3.0) nokogiri rack diff --git a/lib/stimulus_reflex/version.rb b/lib/stimulus_reflex/version.rb index 8554d6b5..b1e0163a 100644 --- a/lib/stimulus_reflex/version.rb +++ b/lib/stimulus_reflex/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module StimulusReflex - VERSION = "3.4.0.pre0" + VERSION = "3.4.0.pre1" end From 4cfd457ffb422926f74650220579bdbad5b20f69 Mon Sep 17 00:00:00 2001 From: Hopsoft Date: Mon, 2 Nov 2020 18:17:17 -0700 Subject: [PATCH 084/127] Update yarn version --- javascript/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/package.json b/javascript/package.json index 2671b88e..a8dba665 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -1,6 +1,6 @@ { "name": "stimulus_reflex", - "version": "3.4.0-pre0", + "version": "3.4.0-pre1", "description": "Build reactive applications with the Rails tooling you already know and love.", "keywords": [ "ruby", From c8443d74868dce2a2e78eb8a20d977d29778774e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 3 Nov 2020 01:18:59 +0000 Subject: [PATCH 085/127] [nodoc] update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04af3449..affcee21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [v3.4.0.pre1](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre1) (2020-11-03) + +[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre0...v3.4.0.pre1) + ## [v3.4.0.pre0](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre0) (2020-11-02) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0...v3.4.0.pre0) From 429abada6a0e5b66466e483a507112a3a94d07e3 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Tue, 3 Nov 2020 17:48:26 +0100 Subject: [PATCH 086/127] fix js serializeForm initialization the default option for `options['serializeForm']` is `undefined`. With `undefined` or `true` the client should serialize the form with `false` you opt-out of the form initialization and it should not send any params to the backend --- javascript/stimulus_reflex.js | 6 +++--- javascript/utils.js | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index 52228940..3c648b80 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -211,9 +211,9 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} - const formData = options['serializeForm'] - ? serializeForm(element.closest('form'), { element }) - : '' + const formData = options['serializeForm'] == false + ? '' + : serializeForm(element.closest('form'), { element }) element.reflexData = { ...data, diff --git a/javascript/utils.js b/javascript/utils.js index 55b33592..a96624fe 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -11,8 +11,9 @@ export const uuidv4 = () => { ) } -export const serializeForm = (form, options = { w: window }) => { - const { element, w } = options +export const serializeForm = (form, options = {}) => { + const w = options.w || window + const { element } = options const formData = new w.FormData(form) const data = Array.from(formData, e => e.join('=')) From 9171ee71a016daf1908dedd5bd688b2af21b038f Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Tue, 3 Nov 2020 18:07:13 +0100 Subject: [PATCH 087/127] run prettier-standard:format --- javascript/stimulus_reflex.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index 3c648b80..b5f044ec 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -211,9 +211,10 @@ const extendStimulusController = controller => { setTimeout(() => { const { params } = element.reflexData || {} - const formData = options['serializeForm'] == false - ? '' - : serializeForm(element.closest('form'), { element }) + const formData = + options['serializeForm'] == false + ? '' + : serializeForm(element.closest('form'), { element }) element.reflexData = { ...data, From 27236cc8143483ceae02639033dffd59823d8223 Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Tue, 3 Nov 2020 15:53:53 -0500 Subject: [PATCH 088/127] Make that 700 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 58c117ea..7cb0be9f 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ This project strives to live up to the vision outlined in [The Rails Doctrine](h ## 👩‍👩‍👧 Discord Community -Please join over 600 of us on [Discord](https://discord.gg/XveN625) for support getting started, as well as active discussions around Rails, StimulusJS and CableReady. +Please join over 700 of us on [Discord](https://discord.gg/XveN625) for support getting started, as well as active discussions around Rails, StimulusJS and CableReady. ![](https://img.shields.io/discord/629472241427415060) From 7a5b16ec8e0ce81e08d36da02bd1c5050cdadfae Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 3 Nov 2020 20:55:23 +0000 Subject: [PATCH 089/127] [nodoc] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index affcee21..940ff8af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -98,6 +98,7 @@ - Update morph-modes.md [\#302](https://github.com/hopsoft/stimulus_reflex/pull/302) ([scottbarrow](https://github.com/scottbarrow)) - Enhance controller templates docs [\#300](https://github.com/hopsoft/stimulus_reflex/pull/300) ([pinzonjulian](https://github.com/pinzonjulian)) - Avoid mismatching client and server versions [\#297](https://github.com/hopsoft/stimulus_reflex/pull/297) ([piotrwodz](https://github.com/piotrwodz)) +- Check if reflex exists before using it [\#293](https://github.com/hopsoft/stimulus_reflex/pull/293) ([joshleblanc](https://github.com/joshleblanc)) ## [v3.3.0.pre4](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre4) (2020-09-13) @@ -144,7 +145,6 @@ **Merged pull requests:** -- Check if reflex exists before using it [\#293](https://github.com/hopsoft/stimulus_reflex/pull/293) ([joshleblanc](https://github.com/joshleblanc)) - Add instructions for existing projects [\#291](https://github.com/hopsoft/stimulus_reflex/pull/291) ([gerrywastaken](https://github.com/gerrywastaken)) - Fix argument of type object always being assigned to options [\#279](https://github.com/hopsoft/stimulus_reflex/pull/279) ([shawnleong](https://github.com/shawnleong)) - Simplify devise authentication logic \(in docs\) [\#276](https://github.com/hopsoft/stimulus_reflex/pull/276) ([inner-whisper](https://github.com/inner-whisper)) From 8c02c146035d7c5b0bc43073727dd78cddfdd2d0 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 3 Nov 2020 21:18:03 +0000 Subject: [PATCH 090/127] [nodoc] update changelog --- CHANGELOG.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 940ff8af..58978fd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [Unreleased](https://github.com/hopsoft/stimulus_reflex/tree/HEAD) + +[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre1...HEAD) + +**Merged pull requests:** + +- Fix serializeForm initialization [\#349](https://github.com/hopsoft/stimulus_reflex/pull/349) ([marcoroth](https://github.com/marcoroth)) + ## [v3.4.0.pre1](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre1) (2020-11-03) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre0...v3.4.0.pre1) @@ -98,7 +106,6 @@ - Update morph-modes.md [\#302](https://github.com/hopsoft/stimulus_reflex/pull/302) ([scottbarrow](https://github.com/scottbarrow)) - Enhance controller templates docs [\#300](https://github.com/hopsoft/stimulus_reflex/pull/300) ([pinzonjulian](https://github.com/pinzonjulian)) - Avoid mismatching client and server versions [\#297](https://github.com/hopsoft/stimulus_reflex/pull/297) ([piotrwodz](https://github.com/piotrwodz)) -- Check if reflex exists before using it [\#293](https://github.com/hopsoft/stimulus_reflex/pull/293) ([joshleblanc](https://github.com/joshleblanc)) ## [v3.3.0.pre4](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre4) (2020-09-13) @@ -145,6 +152,7 @@ **Merged pull requests:** +- Check if reflex exists before using it [\#293](https://github.com/hopsoft/stimulus_reflex/pull/293) ([joshleblanc](https://github.com/joshleblanc)) - Add instructions for existing projects [\#291](https://github.com/hopsoft/stimulus_reflex/pull/291) ([gerrywastaken](https://github.com/gerrywastaken)) - Fix argument of type object always being assigned to options [\#279](https://github.com/hopsoft/stimulus_reflex/pull/279) ([shawnleong](https://github.com/shawnleong)) - Simplify devise authentication logic \(in docs\) [\#276](https://github.com/hopsoft/stimulus_reflex/pull/276) ([inner-whisper](https://github.com/inner-whisper)) From db5d9d760be4827c2d26b41a12d4a840ecb9cd36 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Thu, 5 Nov 2020 01:15:38 +0100 Subject: [PATCH 091/127] move `cable_ready` to development depedendencies This commit enforces users to add `cable_ready` as an explicit dependendcy to their app's `Gemfile` This is to match the behavior introduced in #315. Moving `cable_ready` to the `peerDependencies` resulted in that users now need to add `cable_ready` as a dependecy to the app's `package.json` Co-Authored-By: paramagicdev --- Gemfile.lock | 2 +- lib/tasks/stimulus_reflex/install.rake | 1 + stimulus_reflex.gemspec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 312baf87..5bcdbca5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,7 +2,6 @@ PATH remote: . specs: stimulus_reflex (3.4.0.pre1) - cable_ready (>= 4.3.0) nokogiri rack rails (>= 5.2) @@ -177,6 +176,7 @@ PLATFORMS DEPENDENCIES bundler (~> 2.0) + cable_ready (>= 4.3.0) pry pry-nav rake diff --git a/lib/tasks/stimulus_reflex/install.rake b/lib/tasks/stimulus_reflex/install.rake index b3fac145..2d8e9642 100644 --- a/lib/tasks/stimulus_reflex/install.rake +++ b/lib/tasks/stimulus_reflex/install.rake @@ -6,6 +6,7 @@ require "stimulus_reflex/version" namespace :stimulus_reflex do desc "Install StimulusReflex in this application" task install: :environment do + system "bundle add cable_ready" system "bundle exec rails webpacker:install:stimulus" gem_version = StimulusReflex::VERSION.gsub(".pre", "-pre") system "yarn add cable_ready stimulus_reflex@#{gem_version}" diff --git a/stimulus_reflex.gemspec b/stimulus_reflex.gemspec index 2a4f7a82..cb6a4178 100644 --- a/stimulus_reflex.gemspec +++ b/stimulus_reflex.gemspec @@ -29,10 +29,10 @@ Gem::Specification.new do |gem| gem.add_dependency "rack" gem.add_dependency "nokogiri" gem.add_dependency "rails", ">= 5.2" - gem.add_dependency "cable_ready", ">= 4.3.0" gem.add_dependency "redis" gem.add_development_dependency "bundler", "~> 2.0" + gem.add_development_dependency "cable_ready", ">= 4.3.0" gem.add_development_dependency "pry-nav" gem.add_development_dependency "pry" gem.add_development_dependency "rake" From 271fa48d42304b59fc6de16c6cc6f1b345a8c6f4 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 5 Nov 2020 01:45:34 +0000 Subject: [PATCH 092/127] [nodoc] update changelog --- CHANGELOG.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58978fd7..73995b79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ **Merged pull requests:** +- move `cable\_ready` to development dependencies [\#351](https://github.com/hopsoft/stimulus_reflex/pull/351) ([marcoroth](https://github.com/marcoroth)) - Fix serializeForm initialization [\#349](https://github.com/hopsoft/stimulus_reflex/pull/349) ([marcoroth](https://github.com/marcoroth)) ## [v3.4.0.pre1](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre1) (2020-11-03) @@ -157,6 +158,7 @@ - Fix argument of type object always being assigned to options [\#279](https://github.com/hopsoft/stimulus_reflex/pull/279) ([shawnleong](https://github.com/shawnleong)) - Simplify devise authentication logic \(in docs\) [\#276](https://github.com/hopsoft/stimulus_reflex/pull/276) ([inner-whisper](https://github.com/inner-whisper)) - Bump lodash from 4.17.15 to 4.17.19 in /javascript [\#275](https://github.com/hopsoft/stimulus_reflex/pull/275) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Fix selector morphs for updating partials and ViewComponents [\#262](https://github.com/hopsoft/stimulus_reflex/pull/262) ([leastbad](https://github.com/leastbad)) ## [v3.3.0.pre2](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre2) (2020-07-17) @@ -181,10 +183,6 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre0...v3.3.0.pre1) -**Merged pull requests:** - -- Fix selector morphs for updating partials and ViewComponents [\#262](https://github.com/hopsoft/stimulus_reflex/pull/262) ([leastbad](https://github.com/leastbad)) - ## [v3.3.0.pre0](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre0) (2020-07-04) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.2.3...v3.3.0.pre0) From f121d8a6e4875334ddf7df8b8d52ca0082a7d3a2 Mon Sep 17 00:00:00 2001 From: leastbad Date: Thu, 5 Nov 2020 19:37:07 +0000 Subject: [PATCH 093/127] GitBook: [master] one page modified --- docs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.md b/docs/README.md index 1057014e..7ce563a0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -20,7 +20,7 @@ This architecture eliminates the complexity imposed by full-stack frontend frame ## Introducing: Morphs -v3.3 introduces the concept of **Morphs** to StimulusReflex. +v3.3 introduced the concept of **Morphs** to StimulusReflex. {% embed url="https://www.youtube.com/watch?v=utxCm3uLhIE" caption="" %} From 0095e06e7dea1a0f5fe081449f7225387f8ca720 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 5 Nov 2020 19:38:44 +0000 Subject: [PATCH 094/127] [nodoc] update changelog --- CHANGELOG.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73995b79..c2192dd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre1...HEAD) +**Closed issues:** + +- Regression in version 3.4.0-pre1: Cannot find module `cable\_ready` [\#350](https://github.com/hopsoft/stimulus_reflex/issues/350) + **Merged pull requests:** - move `cable\_ready` to development dependencies [\#351](https://github.com/hopsoft/stimulus_reflex/pull/351) ([marcoroth](https://github.com/marcoroth)) @@ -158,7 +162,6 @@ - Fix argument of type object always being assigned to options [\#279](https://github.com/hopsoft/stimulus_reflex/pull/279) ([shawnleong](https://github.com/shawnleong)) - Simplify devise authentication logic \(in docs\) [\#276](https://github.com/hopsoft/stimulus_reflex/pull/276) ([inner-whisper](https://github.com/inner-whisper)) - Bump lodash from 4.17.15 to 4.17.19 in /javascript [\#275](https://github.com/hopsoft/stimulus_reflex/pull/275) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Fix selector morphs for updating partials and ViewComponents [\#262](https://github.com/hopsoft/stimulus_reflex/pull/262) ([leastbad](https://github.com/leastbad)) ## [v3.3.0.pre2](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre2) (2020-07-17) @@ -183,6 +186,10 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre0...v3.3.0.pre1) +**Merged pull requests:** + +- Fix selector morphs for updating partials and ViewComponents [\#262](https://github.com/hopsoft/stimulus_reflex/pull/262) ([leastbad](https://github.com/leastbad)) + ## [v3.3.0.pre0](https://github.com/hopsoft/stimulus_reflex/tree/v3.3.0.pre0) (2020-07-04) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.2.3...v3.3.0.pre0) From 0b6ed245354687c98f2ba5b1cd94341def6767bc Mon Sep 17 00:00:00 2001 From: Joshua LeBlanc Date: Fri, 6 Nov 2020 08:38:46 -0400 Subject: [PATCH 095/127] pass reflex id to reflex --- app/channels/stimulus_reflex/channel.rb | 9 ++++++++- lib/stimulus_reflex/reflex.rb | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/channels/stimulus_reflex/channel.rb b/app/channels/stimulus_reflex/channel.rb index f6eb2857..025d1ce4 100644 --- a/app/channels/stimulus_reflex/channel.rb +++ b/app/channels/stimulus_reflex/channel.rb @@ -32,7 +32,14 @@ def receive(data) begin begin reflex_class = reflex_name.constantize.tap { |klass| raise ArgumentError.new("#{reflex_name} is not a StimulusReflex::Reflex") unless is_reflex?(klass) } - reflex = reflex_class.new(self, url: url, element: element, selectors: selectors, method_name: method_name, permanent_attribute_name: permanent_attribute_name, params: params) + reflex = reflex_class.new(self, + url: url, + element: element, + selectors: selectors, + method_name: method_name, + permanent_attribute_name: permanent_attribute_name, + params: params, + id: data["reflexId"]) delegate_call_to_reflex reflex, method_name, arguments rescue => invoke_error message = exception_message_with_backtrace(invoke_error) diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index 68d08bdb..fcfa5919 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -43,7 +43,7 @@ def normalize_callback_option!(options, from, to) end end - attr_reader :channel, :url, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name + attr_reader :channel, :url, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name, :id alias_method :action_name, :method_name # for compatibility with controller libraries like Pundit that expect an action name @@ -51,7 +51,7 @@ def normalize_callback_option!(options, from, to) delegate :flash, :session, to: :request delegate :broadcast, :broadcast_message, to: :broadcaster - def initialize(channel, url: nil, element: nil, selectors: [], method_name: nil, permanent_attribute_name: nil, params: {}) + def initialize(channel, url: nil, element: nil, selectors: [], method_name: nil, permanent_attribute_name: nil, params: {}, id: nil) @channel = channel @url = url @element = element From 841f16e5c5c0f5bd6aa9c405d3c791b44ca8b2d3 Mon Sep 17 00:00:00 2001 From: Josh LeBlanc Date: Fri, 6 Nov 2020 09:28:38 -0400 Subject: [PATCH 096/127] Update reflex.rb set the id instance variable --- lib/stimulus_reflex/reflex.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index fcfa5919..59e21e97 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -60,6 +60,8 @@ def initialize(channel, url: nil, element: nil, selectors: [], method_name: nil, @params = params @permanent_attribute_name = permanent_attribute_name @broadcaster = StimulusReflex::PageBroadcaster.new(self) + @id = id + self.params end From 2c1e64976c252a1954c3cdf16de78903469d5632 Mon Sep 17 00:00:00 2001 From: Hopsoft Date: Fri, 6 Nov 2020 07:09:06 -0700 Subject: [PATCH 097/127] Prep for v3.4.0.pre2 pre-release --- Gemfile.lock | 4 +- javascript/yarn.lock | 162 ++++++++++++++++----------------- lib/stimulus_reflex/version.rb | 2 +- 3 files changed, 84 insertions(+), 84 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5bcdbca5..5b158509 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - stimulus_reflex (3.4.0.pre1) + stimulus_reflex (3.4.0.pre2) nokogiri rack rails (>= 5.2) @@ -143,7 +143,7 @@ GEM rubocop-ast (>= 0.6.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (1.1.0) + rubocop-ast (1.1.1) parser (>= 2.7.1.5) rubocop-performance (1.8.1) rubocop (>= 0.87.0) diff --git a/javascript/yarn.lock b/javascript/yarn.lock index 5fde00d5..c239d1e7 100644 --- a/javascript/yarn.lock +++ b/javascript/yarn.lock @@ -23,10 +23,10 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" - integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== +"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.5.tgz#f56db0c4bb1bbbf221b4e81345aab4141e7cb0e9" + integrity sha512-DTsS7cxrsH3by8nqQSpFSyjSfSYl57D6Cf4q8dW3LK83tBKBDCkfcay1nYkXq1nIHXnpX8WMMb/O25HOy3h1zg== "@babel/core@^7.10.2", "@babel/core@^7.6.2": version "7.12.3" @@ -50,12 +50,12 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" - integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== +"@babel/generator@^7.12.1", "@babel/generator@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" + integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== dependencies: - "@babel/types" "^7.12.1" + "@babel/types" "^7.12.5" jsesc "^2.5.1" source-map "^0.5.0" @@ -92,13 +92,13 @@ "@babel/types" "^7.10.4" "@babel/helper-compilation-targets@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" - integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" + integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== dependencies: - "@babel/compat-data" "^7.12.1" + "@babel/compat-data" "^7.12.5" "@babel/helper-validator-option" "^7.12.1" - browserslist "^4.12.0" + browserslist "^4.14.5" semver "^5.5.0" "@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.7.4": @@ -168,11 +168,11 @@ "@babel/types" "^7.12.1" "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" - integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" + integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== dependencies: - "@babel/types" "^7.12.1" + "@babel/types" "^7.12.5" "@babel/helper-module-transforms@^7.12.1": version "7.12.1" @@ -218,14 +218,14 @@ "@babel/types" "^7.12.1" "@babel/helper-replace-supers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" - integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" + integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== dependencies: "@babel/helper-member-expression-to-functions" "^7.12.1" "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" "@babel/helper-simple-access@^7.12.1": version "7.12.1" @@ -269,13 +269,13 @@ "@babel/types" "^7.10.4" "@babel/helpers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" - integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" + integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== dependencies: "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/traverse" "^7.12.5" + "@babel/types" "^7.12.5" "@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3": version "7.10.4" @@ -291,10 +291,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== -"@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3", "@babel/parser@^7.3.3": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" - integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== +"@babel/parser@^7.10.4", "@babel/parser@^7.12.3", "@babel/parser@^7.12.5", "@babel/parser@^7.3.3": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" + integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== "@babel/plugin-proposal-async-generator-functions@^7.12.1": version "7.12.1" @@ -362,9 +362,9 @@ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" "@babel/plugin-proposal-numeric-separator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" - integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.5.tgz#b1ce757156d40ed79d59d467cb2b154a5c4149ba" + integrity sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" @@ -715,10 +715,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx-development@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.1.tgz#0b8f8cd531dcf7991f1e5f2c10a2a4f1cfc78e36" - integrity sha512-IilcGWdN1yNgEGOrB96jbTplRh+V2Pz1EoEwsKsHfX1a/L40cUYuD71Zepa7C+ujv7kJIxnDftWeZbKNEqZjCQ== +"@babel/plugin-transform-react-jsx-development@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.5.tgz#677de5b96da310430d6cfb7fee16a1603afa3d56" + integrity sha512-1JJusg3iPgsZDthyWiCr3KQiGs31ikU/mSf2N2dSYEAO0GEImmVUbWf0VoSDGDFTAn5Dj4DUiR6SdIXHY7tELA== dependencies: "@babel/helper-builder-react-jsx-experimental" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" @@ -738,10 +738,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx@^7.10.1", "@babel/plugin-transform-react-jsx@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.1.tgz#c2d96c77c2b0e4362cc4e77a43ce7c2539d478cb" - integrity sha512-RmKejwnT0T0QzQUzcbP5p1VWlpnP8QHtdhEtLG55ZDQnJNalbF3eeDyu3dnGKvGzFIQiBzFhBYTwvv435p9Xpw== +"@babel/plugin-transform-react-jsx@^7.10.1", "@babel/plugin-transform-react-jsx@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.5.tgz#39ede0e30159770561b6963be143e40af3bde00c" + integrity sha512-2xkcPqqrYiOQgSlM/iwto1paPijjsDbUynN13tI6bosDz/jOW3CRzYguIE8wKX32h+msbBM22Dv5fwrFkUOZjQ== dependencies: "@babel/helper-builder-react-jsx" "^7.10.4" "@babel/helper-builder-react-jsx-experimental" "^7.12.1" @@ -914,14 +914,14 @@ esutils "^2.0.2" "@babel/preset-react@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.1.tgz#7f022b13f55b6dd82f00f16d1c599ae62985358c" - integrity sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.5.tgz#d45625f65d53612078a43867c5c6750e78772c56" + integrity sha512-jcs++VPrgyFehkMezHtezS2BpnUlR7tQFAyesJn1vGTO9aTFZrgIQrA5YydlTwxbcjMwkFY6i04flCigRRr3GA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-react-display-name" "^7.12.1" - "@babel/plugin-transform-react-jsx" "^7.12.1" - "@babel/plugin-transform-react-jsx-development" "^7.12.1" + "@babel/plugin-transform-react-jsx" "^7.12.5" + "@babel/plugin-transform-react-jsx-development" "^7.12.5" "@babel/plugin-transform-react-jsx-self" "^7.12.1" "@babel/plugin-transform-react-jsx-source" "^7.12.1" "@babel/plugin-transform-react-pure-annotations" "^7.12.1" @@ -938,9 +938,9 @@ source-map-support "^0.5.16" "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" - integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" + integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== dependencies: regenerator-runtime "^0.13.4" @@ -953,25 +953,25 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" - integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== +"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5": + version "7.12.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095" + integrity sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" + "@babel/generator" "^7.12.5" "@babel/helper-function-name" "^7.10.4" "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.12.1" - "@babel/types" "^7.12.1" + "@babel/parser" "^7.12.5" + "@babel/types" "^7.12.5" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.4.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" - integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== +"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.4.4": + version "7.12.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" + integrity sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA== dependencies: "@babel/helper-validator-identifier" "^7.10.4" lodash "^4.17.19" @@ -1514,7 +1514,7 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.8.5: version "4.14.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.6.tgz#97702a9c212e0c6b6afefad913d3a1538e348457" integrity sha512-zeFYcUo85ENhc/zxHbiIp0LGzzTrE2Pv2JhxvS7kpUb9Q9D38kUX6Bie7pGutJ/5iF5rOxE7CepAuWD56xJ33A== @@ -1594,9 +1594,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154: - version "1.0.30001154" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001154.tgz#f3bbc245ce55e4c1cd20fa731b097880181a7f17" - integrity sha512-y9DvdSti8NnYB9Be92ddMZQrcOe04kcQtcxtBx4NkB04+qZ+JUWotnXBJTmxlKudhxNTQ3RRknMwNU2YQl/Org== + version "1.0.30001156" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001156.tgz#75c20937b6012fe2b02ab58b30d475bf0718de97" + integrity sha512-z7qztybA2eFZTB6Z3yvaQBIoJpQtsewRD74adw2UbRWwsRq3jIPvgrQGawBMbfafekQaD21FWuXNcywtTDGGCw== caseless@~0.12.0: version "0.12.0" @@ -2230,9 +2230,9 @@ editorconfig@0.15.3: sigmund "^1.0.1" electron-to-chromium@^1.3.585: - version "1.3.585" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.585.tgz#71cdb722c73488b9475ad1c572cf43a763ef9081" - integrity sha512-xoeqjMQhgHDZM7FiglJAb2aeOxHZWFruUc3MbAGTgE7GB8rr5fTn1Sdh5THGuQtndU3GuXlu91ZKqRivxoCZ/A== + version "1.3.589" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.589.tgz#bd26183ed8697dde6ac19acbc16a3bf33b1f8220" + integrity sha512-rQItBTFnol20HaaLm26UgSUduX7iGerwW7pEYX17MB1tI6LzFajiLV7iZ7LVcUcsN/7HrZUoCLrBauChy/IqEg== elegant-spinner@^1.0.1: version "1.0.1" @@ -3171,9 +3171,9 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-buffer@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== is-callable@^1.1.4, is-callable@^1.2.2: version "1.2.2" @@ -3200,9 +3200,9 @@ is-color-stop@^1.0.0: rgba-regex "^1.0.0" is-core-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" - integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" + integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== dependencies: has "^1.0.3" @@ -3949,9 +3949,9 @@ mkdirp@^0.5.1, mkdirp@~0.5.1: minimist "^1.2.5" mocha@^8.0.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.0.tgz#f8aa79110b4b5a6580c65d4dd8083c425282624e" - integrity sha512-lEWEMq2LMfNJMKeuEwb5UELi+OgFDollXaytR5ggQcHpzG3NP/R7rvixAvF+9/lLsTWhWG+4yD2M70GsM06nxw== + version "8.2.1" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.1.tgz#f2fa68817ed0e53343d989df65ccd358bc3a4b39" + integrity sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w== dependencies: "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" @@ -5851,9 +5851,9 @@ typescript@^3.9.5: integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== uglify-js@^3.1.4: - version "3.11.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.4.tgz#b47b7ae99d4bd1dca65b53aaa69caa0909e6fadf" - integrity sha512-FyYnoxVL1D6+jDGQpbK5jW6y/2JlVfRfEeQ67BPCUg5wfCjaKOpr2XeceE4QL+MkhxliLtf5EbrMDZgzpt2CNw== + version "3.11.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.5.tgz#d6788bc83cf35ff18ea78a65763e480803409bc6" + integrity sha512-btvv/baMqe7HxP7zJSF7Uc16h1mSfuuSplT0/qdjxseesDU+yYzH33eHBH+eMdeRXwujXspaCTooWHQVVBh09w== unherit@^1.0.4: version "1.1.3" diff --git a/lib/stimulus_reflex/version.rb b/lib/stimulus_reflex/version.rb index b1e0163a..af04295d 100644 --- a/lib/stimulus_reflex/version.rb +++ b/lib/stimulus_reflex/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module StimulusReflex - VERSION = "3.4.0.pre1" + VERSION = "3.4.0.pre2" end From bff0ff7567763e0a1a720c7b44048d976ea49d20 Mon Sep 17 00:00:00 2001 From: Hopsoft Date: Fri, 6 Nov 2020 07:22:27 -0700 Subject: [PATCH 098/127] Bump js version for pre-release --- javascript/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/package.json b/javascript/package.json index a8dba665..d97671ac 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -1,6 +1,6 @@ { "name": "stimulus_reflex", - "version": "3.4.0-pre1", + "version": "3.4.0-pre2", "description": "Build reactive applications with the Rails tooling you already know and love.", "keywords": [ "ruby", From 95ca5a8d302b7903e873372863a009b28058e87f Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 6 Nov 2020 14:24:22 +0000 Subject: [PATCH 099/127] [nodoc] update changelog --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2192dd5..aed2130f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Changelog -## [Unreleased](https://github.com/hopsoft/stimulus_reflex/tree/HEAD) +## [v3.4.0.pre2](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre2) (2020-11-06) -[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre1...HEAD) +[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre1...v3.4.0.pre2) **Closed issues:** @@ -58,7 +58,6 @@ - fix for PR\#317 which was preventing server messages [\#326](https://github.com/hopsoft/stimulus_reflex/pull/326) ([leastbad](https://github.com/leastbad)) - introduce tab isolation mode [\#324](https://github.com/hopsoft/stimulus_reflex/pull/324) ([leastbad](https://github.com/leastbad)) - Force request encodings to be UTF-8 instead of ASCII-8BIT after a reflex [\#320](https://github.com/hopsoft/stimulus_reflex/pull/320) ([marcoroth](https://github.com/marcoroth)) -- Append short section about resetting a form [\#319](https://github.com/hopsoft/stimulus_reflex/pull/319) ([julianrubisch](https://github.com/julianrubisch)) - lifecycle refactor: introduce new finalize stage, global reflexes dictionary [\#317](https://github.com/hopsoft/stimulus_reflex/pull/317) ([leastbad](https://github.com/leastbad)) - Update events.md [\#316](https://github.com/hopsoft/stimulus_reflex/pull/316) ([gahia](https://github.com/gahia)) - Proposal: Reduce bundle size and add a bundler for Stimulus Reflex javascript [\#315](https://github.com/hopsoft/stimulus_reflex/pull/315) ([ParamagicDev](https://github.com/ParamagicDev)) @@ -83,6 +82,7 @@ **Merged pull requests:** +- Append short section about resetting a form [\#319](https://github.com/hopsoft/stimulus_reflex/pull/319) ([julianrubisch](https://github.com/julianrubisch)) - fixes and tweaks to client logging subsystem [\#313](https://github.com/hopsoft/stimulus_reflex/pull/313) ([leastbad](https://github.com/leastbad)) - add ready event after setupDeclarativeReflexes [\#312](https://github.com/hopsoft/stimulus_reflex/pull/312) ([leastbad](https://github.com/leastbad)) - Refactor sanity checks on boot [\#311](https://github.com/hopsoft/stimulus_reflex/pull/311) ([excid3](https://github.com/excid3)) From 778f824057f6242b21ff6db7ff5f1ffd8dbbd7b4 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 6 Nov 2020 10:29:58 -0400 Subject: [PATCH 100/127] style changes --- app/channels/stimulus_reflex/channel.rb | 2 +- lib/stimulus_reflex/reflex.rb | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/channels/stimulus_reflex/channel.rb b/app/channels/stimulus_reflex/channel.rb index 025d1ce4..bf784e4a 100644 --- a/app/channels/stimulus_reflex/channel.rb +++ b/app/channels/stimulus_reflex/channel.rb @@ -39,7 +39,7 @@ def receive(data) method_name: method_name, permanent_attribute_name: permanent_attribute_name, params: params, - id: data["reflexId"]) + reflex_id: data["reflexId"]) delegate_call_to_reflex reflex, method_name, arguments rescue => invoke_error message = exception_message_with_backtrace(invoke_error) diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index 59e21e97..793f9811 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -43,7 +43,7 @@ def normalize_callback_option!(options, from, to) end end - attr_reader :channel, :url, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name, :id + attr_reader :channel, :url, :element, :selectors, :method_name, :broadcaster, :permanent_attribute_name, :reflex_id alias_method :action_name, :method_name # for compatibility with controller libraries like Pundit that expect an action name @@ -51,7 +51,7 @@ def normalize_callback_option!(options, from, to) delegate :flash, :session, to: :request delegate :broadcast, :broadcast_message, to: :broadcaster - def initialize(channel, url: nil, element: nil, selectors: [], method_name: nil, permanent_attribute_name: nil, params: {}, id: nil) + def initialize(channel, url: nil, element: nil, selectors: [], method_name: nil, permanent_attribute_name: nil, params: {}, reflex_id: nil) @channel = channel @url = url @element = element @@ -60,8 +60,8 @@ def initialize(channel, url: nil, element: nil, selectors: [], method_name: nil, @params = params @permanent_attribute_name = permanent_attribute_name @broadcaster = StimulusReflex::PageBroadcaster.new(self) - @id = id - + @reflex_id = reflex_id + self.params end From 10daffbe79400788b8e9fae632f2b92ea1cb934e Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Fri, 6 Nov 2020 09:48:22 -0500 Subject: [PATCH 101/127] Update reflex.rb --- lib/stimulus_reflex/reflex.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/stimulus_reflex/reflex.rb b/lib/stimulus_reflex/reflex.rb index 793f9811..7f9db6cd 100644 --- a/lib/stimulus_reflex/reflex.rb +++ b/lib/stimulus_reflex/reflex.rb @@ -61,7 +61,6 @@ def initialize(channel, url: nil, element: nil, selectors: [], method_name: nil, @permanent_attribute_name = permanent_attribute_name @broadcaster = StimulusReflex::PageBroadcaster.new(self) @reflex_id = reflex_id - self.params end From 2a99adec8e00b5d3e9d2275b96fc9a784dc3e617 Mon Sep 17 00:00:00 2001 From: leastbad Date: Fri, 6 Nov 2020 10:37:10 -0500 Subject: [PATCH 102/127] simplify xpath functions --- javascript/stimulus_reflex.js | 6 ++---- javascript/utils.js | 20 +++++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index b5f044ec..a29cfa93 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -176,10 +176,8 @@ const extendStimulusController = controller => { const resolveLate = options['resolveLate'] || false const datasetAttribute = stimulusApplication.schema.reflexDatasetAttribute const dataset = extractElementDataset(element, datasetAttribute) - let xpath = elementToxPath(element) - xpath = xpath.startsWith('//*') ? xpath : '/html/' + xpath - let cXpath = elementToxPath(this.element) - cXpath = cXpath.startsWith('//*') ? cXpath : '/html/' + cXpath + const xpath = elementToXPath(element) + const cXpath = elementToXPath(this.element) const data = { target, args, diff --git a/javascript/utils.js b/javascript/utils.js index a96624fe..3fac5948 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -66,7 +66,7 @@ export const emitEvent = (event, detail) => { } // construct a valid xPath for an element in the DOM -export const elementToxPath = element => { +const computeXPath = element => { if (element.id !== '') return "//*[@id='" + element.id + "']" if (element === document.body) return 'body' @@ -76,14 +76,10 @@ export const elementToxPath = element => { for (var i = 0; i < siblings.length; i++) { const sibling = siblings[i] if (sibling === element) { - return ( - elementToxPath(element.parentNode) + - '/' + - element.tagName.toLowerCase() + - '[' + - (ix + 1) + - ']' - ) + const computedPath = elementToxPath(element.parentNode) + const tagName = element.tagName.toLowerCase() + const ixInc = ix + 1 + return `${computedPath}/${tagName}[${ixInc}]` } if (sibling.nodeType === 1 && sibling.tagName === element.tagName) { @@ -92,6 +88,12 @@ export const elementToxPath = element => { } } +// if element has an id, pass directly; otherwise, prepend /html/ +export const elementToXPath = element => { + const xpath = computeXPath(element) + return xpath.startsWith('//*') ? xpath : '/html/' + xpath +} + export const xPathToElement = xpath => { return document.evaluate( xpath, From 289746d3f4da0597b286e176f82b44e0dbb8cb9e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 6 Nov 2020 16:03:56 +0000 Subject: [PATCH 103/127] [nodoc] update changelog --- CHANGELOG.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aed2130f..ba73cc3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [Unreleased](https://github.com/hopsoft/stimulus_reflex/tree/HEAD) + +[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre2...HEAD) + +**Merged pull requests:** + +- simplify xpath functions [\#353](https://github.com/hopsoft/stimulus_reflex/pull/353) ([leastbad](https://github.com/leastbad)) +- pass reflex id to reflex [\#352](https://github.com/hopsoft/stimulus_reflex/pull/352) ([joshleblanc](https://github.com/joshleblanc)) + ## [v3.4.0.pre2](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre2) (2020-11-06) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre1...v3.4.0.pre2) @@ -58,6 +67,7 @@ - fix for PR\#317 which was preventing server messages [\#326](https://github.com/hopsoft/stimulus_reflex/pull/326) ([leastbad](https://github.com/leastbad)) - introduce tab isolation mode [\#324](https://github.com/hopsoft/stimulus_reflex/pull/324) ([leastbad](https://github.com/leastbad)) - Force request encodings to be UTF-8 instead of ASCII-8BIT after a reflex [\#320](https://github.com/hopsoft/stimulus_reflex/pull/320) ([marcoroth](https://github.com/marcoroth)) +- Append short section about resetting a form [\#319](https://github.com/hopsoft/stimulus_reflex/pull/319) ([julianrubisch](https://github.com/julianrubisch)) - lifecycle refactor: introduce new finalize stage, global reflexes dictionary [\#317](https://github.com/hopsoft/stimulus_reflex/pull/317) ([leastbad](https://github.com/leastbad)) - Update events.md [\#316](https://github.com/hopsoft/stimulus_reflex/pull/316) ([gahia](https://github.com/gahia)) - Proposal: Reduce bundle size and add a bundler for Stimulus Reflex javascript [\#315](https://github.com/hopsoft/stimulus_reflex/pull/315) ([ParamagicDev](https://github.com/ParamagicDev)) @@ -82,7 +92,6 @@ **Merged pull requests:** -- Append short section about resetting a form [\#319](https://github.com/hopsoft/stimulus_reflex/pull/319) ([julianrubisch](https://github.com/julianrubisch)) - fixes and tweaks to client logging subsystem [\#313](https://github.com/hopsoft/stimulus_reflex/pull/313) ([leastbad](https://github.com/leastbad)) - add ready event after setupDeclarativeReflexes [\#312](https://github.com/hopsoft/stimulus_reflex/pull/312) ([leastbad](https://github.com/leastbad)) - Refactor sanity checks on boot [\#311](https://github.com/hopsoft/stimulus_reflex/pull/311) ([excid3](https://github.com/excid3)) From 8706c96c5b1817307d75c013b18df5be89c1b977 Mon Sep 17 00:00:00 2001 From: Julian Rubisch Date: Fri, 6 Nov 2020 17:14:27 +0100 Subject: [PATCH 104/127] Add guard clause to return valid empty form data --- javascript/utils.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/javascript/utils.js b/javascript/utils.js index 3fac5948..a5499af1 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -12,6 +12,8 @@ export const uuidv4 = () => { } export const serializeForm = (form, options = {}) => { + if (!form) return '' + const w = options.w || window const { element } = options From 551ba666b3c5e3975235216055b2996c73380626 Mon Sep 17 00:00:00 2001 From: Julian Rubisch Date: Fri, 6 Nov 2020 19:26:52 +0100 Subject: [PATCH 105/127] Add test for empty form serialization --- javascript/test/utils.serializeForm.test.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/javascript/test/utils.serializeForm.test.js b/javascript/test/utils.serializeForm.test.js index 55ef308a..54f551db 100644 --- a/javascript/test/utils.serializeForm.test.js +++ b/javascript/test/utils.serializeForm.test.js @@ -4,6 +4,14 @@ import { serializeForm } from '../utils' describe('formSerialize', () => { context('basic', () => { + it('should output an empty string if no form is present', () => { + const dom = new JSDOM('

') + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window }) + const expected = '' + assert.deepStrictEqual(actual, expected) + }) + it('should serialize empty form', () => { const dom = new JSDOM('
') const form = dom.window.document.querySelector('form') From 450820f6e57f383b00fe8cd295779d183dca6464 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 7 Nov 2020 00:32:15 +0000 Subject: [PATCH 106/127] [nodoc] update changelog --- CHANGELOG.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba73cc3d..ca1e323b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ **Merged pull requests:** +- Add guard clause to return valid empty form data [\#354](https://github.com/hopsoft/stimulus_reflex/pull/354) ([julianrubisch](https://github.com/julianrubisch)) - simplify xpath functions [\#353](https://github.com/hopsoft/stimulus_reflex/pull/353) ([leastbad](https://github.com/leastbad)) - pass reflex id to reflex [\#352](https://github.com/hopsoft/stimulus_reflex/pull/352) ([joshleblanc](https://github.com/joshleblanc)) @@ -80,10 +81,6 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre5...v3.3.0.pre6) -**Implemented enhancements:** - -- Support for token-based authentication [\#243](https://github.com/hopsoft/stimulus_reflex/pull/243) ([leastbad](https://github.com/leastbad)) - **Closed issues:** - Authorization [\#292](https://github.com/hopsoft/stimulus_reflex/issues/292) @@ -206,6 +203,7 @@ **Implemented enhancements:** - Returns more helpful error message if Reflex doesn't exist [\#254](https://github.com/hopsoft/stimulus_reflex/pull/254) ([leastbad](https://github.com/leastbad)) +- Support for token-based authentication [\#243](https://github.com/hopsoft/stimulus_reflex/pull/243) ([leastbad](https://github.com/leastbad)) - Update install.rake to handle Typescript [\#241](https://github.com/hopsoft/stimulus_reflex/pull/241) ([iv-mexx](https://github.com/iv-mexx)) - Morph Modes: page, selector and nothing [\#211](https://github.com/hopsoft/stimulus_reflex/pull/211) ([leastbad](https://github.com/leastbad)) @@ -296,6 +294,7 @@ - Map hashes in incoming arguments using with\_indifferent\_access [\#203](https://github.com/hopsoft/stimulus_reflex/pull/203) ([jaredcwhite](https://github.com/jaredcwhite)) - Combine dataset with data-attributes from parent elements on reflex call [\#200](https://github.com/hopsoft/stimulus_reflex/pull/200) ([marcoroth](https://github.com/marcoroth)) - Setup mutation aware declarative reflexes [\#197](https://github.com/hopsoft/stimulus_reflex/pull/197) ([hopsoft](https://github.com/hopsoft)) +- Replace uuid4 dependency with function in repo [\#181](https://github.com/hopsoft/stimulus_reflex/pull/181) ([jonathan-s](https://github.com/jonathan-s)) **Fixed bugs:** @@ -353,7 +352,6 @@ - Stimulate without a reflex target [\#179](https://github.com/hopsoft/stimulus_reflex/issues/179) - Reflex callbacks [\#155](https://github.com/hopsoft/stimulus_reflex/issues/155) - Replace camelize with homegrown version [\#184](https://github.com/hopsoft/stimulus_reflex/pull/184) ([jonathan-s](https://github.com/jonathan-s)) -- Replace uuid4 dependency with function in repo [\#181](https://github.com/hopsoft/stimulus_reflex/pull/181) ([jonathan-s](https://github.com/jonathan-s)) - Allow channel exceptions to be rescuable [\#180](https://github.com/hopsoft/stimulus_reflex/pull/180) ([dark-panda](https://github.com/dark-panda)) - add console log messages for every reflex call [\#163](https://github.com/hopsoft/stimulus_reflex/pull/163) ([marcoroth](https://github.com/marcoroth)) - add reflex callbacks [\#160](https://github.com/hopsoft/stimulus_reflex/pull/160) ([websebdev](https://github.com/websebdev)) From f0c2c76812ba7f85954d1a78ccc38bd34a18fe32 Mon Sep 17 00:00:00 2001 From: Julian Rubisch Date: Mon, 9 Nov 2020 11:02:44 +0100 Subject: [PATCH 107/127] Fix elementToXPath import --- javascript/stimulus_reflex.js | 2 +- javascript/utils.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/javascript/stimulus_reflex.js b/javascript/stimulus_reflex.js index a29cfa93..5a4e86e2 100644 --- a/javascript/stimulus_reflex.js +++ b/javascript/stimulus_reflex.js @@ -13,7 +13,7 @@ import { extractElementDataset, findElement } from './attributes' -import { extractReflexName, elementToxPath, xPathToElement } from './utils' +import { extractReflexName, elementToXPath, xPathToElement } from './utils' // A lambda that does nothing. Very zen; we are made of stars const NOOP = () => {} diff --git a/javascript/utils.js b/javascript/utils.js index a5499af1..2f930d08 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -78,7 +78,7 @@ const computeXPath = element => { for (var i = 0; i < siblings.length; i++) { const sibling = siblings[i] if (sibling === element) { - const computedPath = elementToxPath(element.parentNode) + const computedPath = elementToXPath(element.parentNode) const tagName = element.tagName.toLowerCase() const ixInc = ix + 1 return `${computedPath}/${tagName}[${ixInc}]` From aaf81be396558798b98b8e469037f663ae8dbb61 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 9 Nov 2020 12:54:10 +0000 Subject: [PATCH 108/127] [nodoc] update changelog --- CHANGELOG.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca1e323b..5e6b47eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ **Merged pull requests:** +- Fix elementToXPath import [\#355](https://github.com/hopsoft/stimulus_reflex/pull/355) ([julianrubisch](https://github.com/julianrubisch)) - Add guard clause to return valid empty form data [\#354](https://github.com/hopsoft/stimulus_reflex/pull/354) ([julianrubisch](https://github.com/julianrubisch)) - simplify xpath functions [\#353](https://github.com/hopsoft/stimulus_reflex/pull/353) ([leastbad](https://github.com/leastbad)) - pass reflex id to reflex [\#352](https://github.com/hopsoft/stimulus_reflex/pull/352) ([joshleblanc](https://github.com/joshleblanc)) @@ -81,6 +82,10 @@ [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.3.0.pre5...v3.3.0.pre6) +**Implemented enhancements:** + +- Support for token-based authentication [\#243](https://github.com/hopsoft/stimulus_reflex/pull/243) ([leastbad](https://github.com/leastbad)) + **Closed issues:** - Authorization [\#292](https://github.com/hopsoft/stimulus_reflex/issues/292) @@ -203,7 +208,6 @@ **Implemented enhancements:** - Returns more helpful error message if Reflex doesn't exist [\#254](https://github.com/hopsoft/stimulus_reflex/pull/254) ([leastbad](https://github.com/leastbad)) -- Support for token-based authentication [\#243](https://github.com/hopsoft/stimulus_reflex/pull/243) ([leastbad](https://github.com/leastbad)) - Update install.rake to handle Typescript [\#241](https://github.com/hopsoft/stimulus_reflex/pull/241) ([iv-mexx](https://github.com/iv-mexx)) - Morph Modes: page, selector and nothing [\#211](https://github.com/hopsoft/stimulus_reflex/pull/211) ([leastbad](https://github.com/leastbad)) @@ -294,7 +298,6 @@ - Map hashes in incoming arguments using with\_indifferent\_access [\#203](https://github.com/hopsoft/stimulus_reflex/pull/203) ([jaredcwhite](https://github.com/jaredcwhite)) - Combine dataset with data-attributes from parent elements on reflex call [\#200](https://github.com/hopsoft/stimulus_reflex/pull/200) ([marcoroth](https://github.com/marcoroth)) - Setup mutation aware declarative reflexes [\#197](https://github.com/hopsoft/stimulus_reflex/pull/197) ([hopsoft](https://github.com/hopsoft)) -- Replace uuid4 dependency with function in repo [\#181](https://github.com/hopsoft/stimulus_reflex/pull/181) ([jonathan-s](https://github.com/jonathan-s)) **Fixed bugs:** @@ -352,13 +355,14 @@ - Stimulate without a reflex target [\#179](https://github.com/hopsoft/stimulus_reflex/issues/179) - Reflex callbacks [\#155](https://github.com/hopsoft/stimulus_reflex/issues/155) - Replace camelize with homegrown version [\#184](https://github.com/hopsoft/stimulus_reflex/pull/184) ([jonathan-s](https://github.com/jonathan-s)) +- Replace uuid4 dependency with function in repo [\#181](https://github.com/hopsoft/stimulus_reflex/pull/181) ([jonathan-s](https://github.com/jonathan-s)) - Allow channel exceptions to be rescuable [\#180](https://github.com/hopsoft/stimulus_reflex/pull/180) ([dark-panda](https://github.com/dark-panda)) - add console log messages for every reflex call [\#163](https://github.com/hopsoft/stimulus_reflex/pull/163) ([marcoroth](https://github.com/marcoroth)) - add reflex callbacks [\#160](https://github.com/hopsoft/stimulus_reflex/pull/160) ([websebdev](https://github.com/websebdev)) **Fixed bugs:** -- Pluralize the generated class name, so that will match with the file name [\#178](https://github.com/hopsoft/stimulus_reflex/pull/178) ([darkrubyist](https://github.com/darkrubyist)) +- Pluralize the generated class name, so that will match with the file name [\#178](https://github.com/hopsoft/stimulus_reflex/pull/178) ([dark88888](https://github.com/dark88888)) **Closed issues:** From 46b13b7aa7002bfb54c4092e0f5008034baaf120 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Tue, 10 Nov 2020 19:38:07 +0100 Subject: [PATCH 109/127] update package.json to 3.4.0-pre2 --- package.json | 2 +- yarn.lock | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 6110f2e8..d49b58b4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "stimulus_reflex", - "version": "3.3.0", + "version": "3.4.0-pre2", "description": "Build reactive applications with the Rails tooling you already know and love.", "keywords": [ "ruby", diff --git a/yarn.lock b/yarn.lock index cecc3ac7..5763b9d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1534,10 +1534,10 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== -cable_ready@^4.4.0-pre0: - version "4.4.0-pre1" - resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.4.0-pre1.tgz#b9a262cefb539a9a87bd71da56835a7ba7d93653" - integrity sha512-V71BpFB9Q9KCHEWH3kzz3umaFpafMb7khr3TTZclO1xnepwPTiWgWEMqSv2afaQlPtqH6FEpr0UNK6dH4GwrSA== +cable_ready@^4.4.0-pre2: + version "4.4.0-pre2" + resolved "https://registry.yarnpkg.com/cable_ready/-/cable_ready-4.4.0-pre2.tgz#8a970f9117425c5346218a900e24b74fd5d1ddea" + integrity sha512-p1PVlVpGW7WVQNrttcaStJ1c+wuoG4fRuyoJJ7hAloZPQu2koPpeO0R48J+iomq4ZRfOmCGTe6I49r/cg/8DJw== dependencies: morphdom "^2.6.1" @@ -2695,11 +2695,6 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -"form-serialize@>= 0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/form-serialize/-/form-serialize-0.7.2.tgz#b0a2ff0c22026fb6d3d15c9d33f6de6a432e4732" - integrity sha1-sKL/DCICb7bT0VydM/beakMuRzI= - fs-extra@8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" From 3785b8e79b39cbbbf4bf7cde200da87d3b07524b Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Tue, 10 Nov 2020 22:14:54 +0100 Subject: [PATCH 110/127] serializeForm: only append given input if element is submit button Also appends the first submit button by default, even if the submit button didn't trigger the event --- javascript/test/utils.serializeForm.test.js | 134 ++++++++++++++------ javascript/utils.js | 5 +- 2 files changed, 98 insertions(+), 41 deletions(-) diff --git a/javascript/test/utils.serializeForm.test.js b/javascript/test/utils.serializeForm.test.js index 54f551db..2c694a9e 100644 --- a/javascript/test/utils.serializeForm.test.js +++ b/javascript/test/utils.serializeForm.test.js @@ -9,7 +9,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = '' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize empty form', () => { @@ -17,7 +17,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = '' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize basic form with single input', () => { @@ -27,7 +27,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize inputs with no values', () => { @@ -35,7 +35,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize text input with spaces in name', () => { @@ -45,7 +45,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'name 1=StimulusReflex' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize from with multiple inputs', () => { @@ -59,7 +59,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar 1&foo.bar=bar 2&baz.foo=bar 3' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize text input and textarea', () => { @@ -73,7 +73,7 @@ describe('formSerialize', () => { const actual = serializeForm(form, { w: dom.window }) const expected = 'name=StimulusReflex&description=An exciting new way to build modern, reactive, real-time apps with Ruby on Rails.' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should ignore disabled inputs', () => { @@ -86,7 +86,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar 1' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) }) @@ -102,7 +102,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=on&baz=on' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize checkbox array', () => { @@ -116,7 +116,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo[]=bar&foo[]=baz' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize checkbox array with one input', () => { @@ -128,7 +128,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo[]=bar' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) }) @@ -143,7 +143,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = '' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize radio button', () => { @@ -156,7 +156,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar1' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize radio button with empty input', () => { @@ -169,7 +169,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize radio and checkbox with the same key', () => { @@ -184,7 +184,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar1&foo=bar3' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) }) @@ -195,13 +195,16 @@ describe('formSerialize', () => { '' + '' + '' + + '' + + '' + + '' + '' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('input[type="submit"]') const actual = serializeForm(form, { w: dom.window }) - const expected = '' - assert.deepStrictEqual(actual, expected) + const expected = 'submit=submit' + assert.equal(actual, expected) }) }) @@ -216,7 +219,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'name[]=StimulusReflex&name[]=CableReady' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize text inputs with nested brackets notation', () => { @@ -233,7 +236,7 @@ describe('formSerialize', () => { const actual = serializeForm(form, { w: dom.window }) const expected = 'account[name]=Foo Dude&account[email]=foobar@example.org&account[address][city]=Qux&account[address][state]=CA&account[address][empty]=' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize text inputs with brackets notation and nested numbered index', () => { @@ -247,7 +250,7 @@ describe('formSerialize', () => { const actual = serializeForm(form, { w: dom.window }) const expected = 'person[address][23][city]=Paris&person[address][45][city]=London' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize text inputs with brackets notation and nested non-numbered index', () => { @@ -261,7 +264,7 @@ describe('formSerialize', () => { const actual = serializeForm(form, { w: dom.window }) const expected = 'person[address][23_id][city]=Paris&person[address][45_id][city]=London' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize text inputs with non-indexed bracket notation', () => { @@ -276,7 +279,7 @@ describe('formSerialize', () => { const actual = serializeForm(form, { w: dom.window }) const expected = 'people[][name]=fred&people[][name]=bob&people[][name]=bubba' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize text inputs with non-indexed nested bracket notation', () => { @@ -289,7 +292,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'user[tags][]=cow&user[tags][]=milk' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize text inputs with indexed bracket notation', () => { @@ -309,7 +312,7 @@ describe('formSerialize', () => { const actual = serializeForm(form, { w: dom.window }) const expected = 'people[2][name]=bubba&people[2][age]=15&people[0][name]=fred&people[0][age]=12&people[1][name]=bob&people[1][age]=14&people[][name]=frank&people[3][age]=2' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) }) @@ -326,7 +329,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=baz' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize select with empty option', () => { @@ -342,7 +345,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) }) @@ -360,7 +363,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=bar&foo=cat' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize select multiple with empty option', () => { @@ -377,7 +380,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo=&foo=bar' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize select multiple with bracket notation', () => { @@ -393,7 +396,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo[]=bar&foo[]=qux' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize select multiple with bracket notation and empty option', () => { @@ -412,7 +415,7 @@ describe('formSerialize', () => { const actual = serializeForm(form, { w: dom.window }) const expected = 'foo[bar]=Default value&foo[bar]=&foo[bar]=baz&foo[bar]=norf' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should serialize select multiple with nested bracket notation', () => { @@ -428,7 +431,7 @@ describe('formSerialize', () => { const form = dom.window.document.querySelector('form') const actual = serializeForm(form, { w: dom.window }) const expected = 'foo[bar]=baz&foo[bar]=norf' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) }) @@ -443,10 +446,10 @@ describe('formSerialize', () => { const element = dom.window.document.querySelector('input[type="submit"]') const actual = serializeForm(form, { w: dom.window, element }) const expected = 'commit=Create Post' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) - it('should serialize inputs and button which triggered the action', () => { + it('should serialize inputs and input button which triggered the action', () => { const dom = new JSDOM( '
' + '' + @@ -457,7 +460,48 @@ describe('formSerialize', () => { const element = dom.window.document.querySelector('input[type="submit"]') const actual = serializeForm(form, { w: dom.window, element }) const expected = 'title=Post&commit=Create Post' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) + }) + + it('should also serialize submit button if other element triggered action', () => { + const dom = new JSDOM( + '' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('input[type="text"]') + const actual = serializeForm(form, { w: dom.window, element }) + const expected = 'name=Hello World&commit=Create Post' + assert.equal(actual, expected) + }) + + it('should serialize first submit button if no submit button triggered the action', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const actual = serializeForm(form, { w: dom.window }) + const expected = 'commit=One' + assert.equal(actual, expected) + }) + + it('should serialize submit button which triggered the action even if there is more than one submit button', () => { + const dom = new JSDOM( + '
' + + '' + + '' + + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('input[value="Two"]') + const actual = serializeForm(form, { w: dom.window, element }) + const expected = 'commit=Two' + assert.equal(actual, expected) }) it('should serialize empty button if button triggered action', () => { @@ -468,7 +512,18 @@ describe('formSerialize', () => { const element = dom.window.document.querySelector('input[type="submit"]') const actual = serializeForm(form, { w: dom.window, element }) const expected = 'commit=' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) + }) + + it('should not serialize input even if the input element triggered the action', () => { + const dom = new JSDOM( + '
' + '' + '
' + ) + const form = dom.window.document.querySelector('form') + const element = dom.window.document.querySelector('input[type="checkbox"]') + const actual = serializeForm(form, { w: dom.window, element }) + const expected = '' + assert.equal(actual, expected) }) it('should not serialize if input has no name', () => { @@ -481,21 +536,20 @@ describe('formSerialize', () => { const element = dom.window.document.querySelector('input') const actual = serializeForm(form, { w: dom.window, element }) const expected = '' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should not serialize if element is no input', () => { const dom = new JSDOM( '
' + - '' + - '
bar
' + + '
bar
' + '
' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('div') const actual = serializeForm(form, { w: dom.window, element }) const expected = '' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) it('should not serialize input twice if input also triggered the action', () => { @@ -508,7 +562,7 @@ describe('formSerialize', () => { const element = dom.window.document.querySelector('input') const actual = serializeForm(form, { w: dom.window, element }) const expected = 'commit=Create Post' - assert.deepStrictEqual(actual, expected) + assert.equal(actual, expected) }) }) }) diff --git a/javascript/utils.js b/javascript/utils.js index 2f930d08..625d0fe0 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -19,9 +19,12 @@ export const serializeForm = (form, options = {}) => { const formData = new w.FormData(form) const data = Array.from(formData, e => e.join('=')) + const submitButton = form.querySelector("input[type=submit]") - if (element && element.name) { + if (element && element.name && element.nodeName == "INPUT" && element.type == "submit") { data.push(`${element.name}=${element.value}`) + } else if (submitButton && submitButton.name) { + data.push(`${submitButton.name}=${submitButton.value}`) } return Array.from(new Set(data)).join('&') From c6d21f1b7b368650998eaeba5d23827dd2fa8f62 Mon Sep 17 00:00:00 2001 From: Marco Roth Date: Tue, 10 Nov 2020 22:32:19 +0100 Subject: [PATCH 111/127] run prettier-standard:format --- javascript/test/utils.serializeForm.test.js | 12 +++++++----- javascript/utils.js | 11 ++++++++--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/javascript/test/utils.serializeForm.test.js b/javascript/test/utils.serializeForm.test.js index 2c694a9e..9590c936 100644 --- a/javascript/test/utils.serializeForm.test.js +++ b/javascript/test/utils.serializeForm.test.js @@ -517,10 +517,14 @@ describe('formSerialize', () => { it('should not serialize input even if the input element triggered the action', () => { const dom = new JSDOM( - '
' + '' + '
' + '
' + + '' + + '
' ) const form = dom.window.document.querySelector('form') - const element = dom.window.document.querySelector('input[type="checkbox"]') + const element = dom.window.document.querySelector( + 'input[type="checkbox"]' + ) const actual = serializeForm(form, { w: dom.window, element }) const expected = '' assert.equal(actual, expected) @@ -541,9 +545,7 @@ describe('formSerialize', () => { it('should not serialize if element is no input', () => { const dom = new JSDOM( - '
' + - '
bar
' + - '
' + '
' + '
bar
' + '
' ) const form = dom.window.document.querySelector('form') const element = dom.window.document.querySelector('div') diff --git a/javascript/utils.js b/javascript/utils.js index 625d0fe0..73fdd954 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -19,9 +19,14 @@ export const serializeForm = (form, options = {}) => { const formData = new w.FormData(form) const data = Array.from(formData, e => e.join('=')) - const submitButton = form.querySelector("input[type=submit]") - - if (element && element.name && element.nodeName == "INPUT" && element.type == "submit") { + const submitButton = form.querySelector('input[type=submit]') + + if ( + element && + element.name && + element.nodeName == 'INPUT' && + element.type == 'submit' + ) { data.push(`${element.name}=${element.value}`) } else if (submitButton && submitButton.name) { data.push(`${submitButton.name}=${submitButton.value}`) From e9bab8c7f127f0d4d517a4b770fab61e342b676a Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Tue, 10 Nov 2020 18:46:45 -0500 Subject: [PATCH 112/127] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7cb0be9f..af6f6e1f 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ And, it's fast. It works seamlessly with the Rails tooling you already know and love. -- Server-rendered HTML, delivered in miliseconds over the wire via Websockets +- Server-rendered HTML, delivered in milliseconds over the wire via Websockets - ERB templates and partials, with first-class [ViewComponent](https://github.com/github/view_component) support - [Russian doll caching](https://edgeguides.rubyonrails.org/caching_with_rails.html#russian-doll-caching) and [ActiveJob](https://guides.rubyonrails.org/active_job_basics.html) - [StimulusJS](https://stimulusjs.org/) and [Turbolinks](https://www.youtube.com/watch?v=SWEts0rlezA) From 95de8b14d5bc4b83becef40609843b24bdb33af4 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 10 Nov 2020 23:48:29 +0000 Subject: [PATCH 113/127] [nodoc] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e6b47eb..ebe63d23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,6 @@ **Merged pull requests:** -- move `cable\_ready` to development dependencies [\#351](https://github.com/hopsoft/stimulus_reflex/pull/351) ([marcoroth](https://github.com/marcoroth)) - Fix serializeForm initialization [\#349](https://github.com/hopsoft/stimulus_reflex/pull/349) ([marcoroth](https://github.com/marcoroth)) ## [v3.4.0.pre1](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre1) (2020-11-03) @@ -56,6 +55,7 @@ **Merged pull requests:** +- move `cable\_ready` to development dependencies [\#351](https://github.com/hopsoft/stimulus_reflex/pull/351) ([marcoroth](https://github.com/marcoroth)) - \[docs\] StimulusReflex.debug= on left hand side [\#348](https://github.com/hopsoft/stimulus_reflex/pull/348) ([drnic](https://github.com/drnic)) - Fix page morphs inside Rails engines [\#344](https://github.com/hopsoft/stimulus_reflex/pull/344) ([leastbad](https://github.com/leastbad)) - Use Webpacker folder if available [\#343](https://github.com/hopsoft/stimulus_reflex/pull/343) ([coorasse](https://github.com/coorasse)) From d22b3826e142f8a5b54c04a85742fd78d3f9cbfe Mon Sep 17 00:00:00 2001 From: leastbad Date: Tue, 10 Nov 2020 23:49:04 +0000 Subject: [PATCH 114/127] GitBook: [master] 3 pages modified --- docs/lifecycle.md | 2 +- docs/morph-modes.md | 2 +- docs/patterns.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/lifecycle.md b/docs/lifecycle.md index 7a919259..6da72934 100644 --- a/docs/lifecycle.md +++ b/docs/lifecycle.md @@ -190,7 +190,7 @@ Adapting the Generic example, we've refactored our controller to capture the `be {% hint style="warning" %} Adding a declarative Reflex such as `Foo#action` to your element does **not** automatically attach an instance of the _foo_ Stimulus controller to the element. -This coupling would only add an unneccesary constraint, as you can call any Reflex from any Stimulus controller. +This coupling would only add an unneccessary constraint, as you can call any Reflex from any Stimulus controller. If you want to run Reflex lifecycle callbacks on your element, you need to use `data-controller="foo"` to attach it. diff --git a/docs/morph-modes.md b/docs/morph-modes.md index 1685591a..6ac622df 100644 --- a/docs/morph-modes.md +++ b/docs/morph-modes.md @@ -394,7 +394,7 @@ Your user clicks a button. Something happens on the server. The browser is notif Nothing morphs are [Remote Procedure Calls](https://en.wikipedia.org/wiki/Remote_procedure_call), implemented on top of ActionCable. -Sometimes you want to take advantage of the chasis and infrastructure of StimulusReflex, without any assumptions or expectations about changing your DOM afterwards. The bare metal nature of Nothing morphs means that the time between initiating a Reflex and receiving a confirmation can be low single-digit miliseconds, if you don't do anything to slow it down. +Sometimes you want to take advantage of the chasis and infrastructure of StimulusReflex, without any assumptions or expectations about changing your DOM afterwards. The bare metal nature of Nothing morphs means that the time between initiating a Reflex and receiving a confirmation can be low single-digit milliseconds, if you don't do anything to slow it down. Nothing morphs usually initiate a long-running process, such as making calls to APIs or supervising I/O operations like file uploads or video transcoding. However, they are equally useful for emitting signals; you could send messages into a queue, tell your media player to play, or tell your Arduino to launch the rocket. diff --git a/docs/patterns.md b/docs/patterns.md index 400e6c59..837bea37 100644 --- a/docs/patterns.md +++ b/docs/patterns.md @@ -483,7 +483,7 @@ Now, you can refactor your view template like this: We've got your back. {% endhint %} -Now, let's revisit our `ExampleReflex` class. When the user clicks the button, it calls our `api` action. The `@api_status` is set to `:loading` and `wait_for_it` gets called specifying the `success` action as the callback. Since `wait_for_it` operates asyncronously in its own thread, the action immediately sends the template back to the client to notify them that a slow process has started. +Now, let's revisit our `ExampleReflex` class. When the user clicks the button, it calls our `api` action. The `@api_status` is set to `:loading` and `wait_for_it` gets called specifying the `success` action as the callback. Since `wait_for_it` operates asynchronously in its own thread, the action immediately sends the template back to the client to notify them that a slow process has started. {% tabs %} {% tab title="example\_reflex.rb" %} From 5fd7cfe819411c6d08dd7c9bf23faf37aa208d67 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 10 Nov 2020 23:50:46 +0000 Subject: [PATCH 115/127] [nodoc] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ebe63d23..5e6b47eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ **Merged pull requests:** +- move `cable\_ready` to development dependencies [\#351](https://github.com/hopsoft/stimulus_reflex/pull/351) ([marcoroth](https://github.com/marcoroth)) - Fix serializeForm initialization [\#349](https://github.com/hopsoft/stimulus_reflex/pull/349) ([marcoroth](https://github.com/marcoroth)) ## [v3.4.0.pre1](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre1) (2020-11-03) @@ -55,7 +56,6 @@ **Merged pull requests:** -- move `cable\_ready` to development dependencies [\#351](https://github.com/hopsoft/stimulus_reflex/pull/351) ([marcoroth](https://github.com/marcoroth)) - \[docs\] StimulusReflex.debug= on left hand side [\#348](https://github.com/hopsoft/stimulus_reflex/pull/348) ([drnic](https://github.com/drnic)) - Fix page morphs inside Rails engines [\#344](https://github.com/hopsoft/stimulus_reflex/pull/344) ([leastbad](https://github.com/leastbad)) - Use Webpacker folder if available [\#343](https://github.com/hopsoft/stimulus_reflex/pull/343) ([coorasse](https://github.com/coorasse)) From 533a3112856572761dae39233ac6adab3219bbe1 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 11 Nov 2020 01:51:45 +0000 Subject: [PATCH 116/127] [nodoc] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e6b47eb..663e55bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ **Merged pull requests:** +- Update package.json to 3.4.0-pre2 [\#356](https://github.com/hopsoft/stimulus_reflex/pull/356) ([marcoroth](https://github.com/marcoroth)) - Fix elementToXPath import [\#355](https://github.com/hopsoft/stimulus_reflex/pull/355) ([julianrubisch](https://github.com/julianrubisch)) - Add guard clause to return valid empty form data [\#354](https://github.com/hopsoft/stimulus_reflex/pull/354) ([julianrubisch](https://github.com/julianrubisch)) - simplify xpath functions [\#353](https://github.com/hopsoft/stimulus_reflex/pull/353) ([leastbad](https://github.com/leastbad)) From 29ed629b3c7eb9f9bbb29e9d2f327888bfe0759c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 11 Nov 2020 10:22:33 +0000 Subject: [PATCH 117/127] [nodoc] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 663e55bb..d1727d07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ **Merged pull requests:** +- serializeForm: only append given input if element is submit button [\#357](https://github.com/hopsoft/stimulus_reflex/pull/357) ([marcoroth](https://github.com/marcoroth)) - Update package.json to 3.4.0-pre2 [\#356](https://github.com/hopsoft/stimulus_reflex/pull/356) ([marcoroth](https://github.com/marcoroth)) - Fix elementToXPath import [\#355](https://github.com/hopsoft/stimulus_reflex/pull/355) ([julianrubisch](https://github.com/julianrubisch)) - Add guard clause to return valid empty form data [\#354](https://github.com/hopsoft/stimulus_reflex/pull/354) ([julianrubisch](https://github.com/julianrubisch)) From da7f8b5a608a87231654384cc58271d61be952cc Mon Sep 17 00:00:00 2001 From: Roland Studer Date: Wed, 11 Nov 2020 19:09:24 +0100 Subject: [PATCH 118/127] Allow to supress warnings for sanity checks (#359) * Allow to supress warnings for sanity checks * Update sanity_checker.rb * Update sanity_checker.rb * Update stimulus_reflex.rb Co-authored-by: leastbad <38150464+leastbad@users.noreply.github.com> --- .../config/initializers/stimulus_reflex.rb | 5 ++- lib/stimulus_reflex/configuration.rb | 4 +- lib/stimulus_reflex/sanity_checker.rb | 45 ++++++++++++++++--- 3 files changed, 44 insertions(+), 10 deletions(-) diff --git a/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb b/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb index b05dbc11..8442aedd 100644 --- a/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb +++ b/lib/generators/stimulus_reflex/templates/config/initializers/stimulus_reflex.rb @@ -1,8 +1,9 @@ # frozen_string_literal: true StimulusReflex.configure do |config| - # Enable/disable whether startup should be aborted when the sanity checks fail - # config.exit_on_failed_sanity_checks = true + # Enable/disable exiting / warning when the sanity checks fail options: + # `:exit` or `:warn` or `:ignore` + # config.on_failed_sanity_checks = :exit # Override the parent class that the StimulusReflex ActionCable channel inherits from # config.parent_channel = "ApplicationCable::Channel" diff --git a/lib/stimulus_reflex/configuration.rb b/lib/stimulus_reflex/configuration.rb index 97e77006..640d9d6f 100644 --- a/lib/stimulus_reflex/configuration.rb +++ b/lib/stimulus_reflex/configuration.rb @@ -14,10 +14,10 @@ def configuration end class Configuration - attr_accessor :exit_on_failed_sanity_checks, :parent_channel + attr_accessor :on_failed_sanity_checks, :parent_channel def initialize - @exit_on_failed_sanity_checks = true + @on_failed_sanity_checks = :exit @parent_channel = "ApplicationCable::Channel" end end diff --git a/lib/stimulus_reflex/sanity_checker.rb b/lib/stimulus_reflex/sanity_checker.rb index c9261805..8452d14b 100644 --- a/lib/stimulus_reflex/sanity_checker.rb +++ b/lib/stimulus_reflex/sanity_checker.rb @@ -4,6 +4,8 @@ class StimulusReflex::SanityChecker JSON_VERSION_FORMAT = /(\d+\.\d+\.\d+.*)"/ def self.check! + return if StimulusReflex.config.on_failed_sanity_checks == :ignore + instance = new instance.check_caching_enabled instance.check_javascript_package_version @@ -80,19 +82,50 @@ def package_json_path Rails.root.join("node_modules", "stimulus_reflex", "package.json") end + def initializer_path + @_initializer_path ||= Rails.root.join("config", "initializers", "stimulus_reflex.rb") + end + def warn_and_exit(text) puts "WARNING:" puts text - exit_with_info if StimulusReflex.config.exit_on_failed_sanity_checks + exit_with_info if StimulusReflex.config.on_failed_sanity_checks == :exit end def exit_with_info puts - puts <<~INFO - If you know what you are doing and you want to start the application anyway, - you can add the following directive to an initializer: - StimulusReflex.config.exit_on_failed_sanity_checks = false - INFO + + # bundle exec rails generate stimulus_reflex:config + if File.exist?(initializer_path) + puts <<~INFO + If you know what you are doing and you want to start the application anyway, + you can add the following directive to the StimulusReflex initializer, + which is located at #{initializer_path} + + StimulusReflex.configure do |config| + config.on_failed_sanity_checks = :warn + end + + INFO + else + puts <<~INFO + If you know what you are doing and you want to start the application anyway, + you can create a StimulusReflex initializer with the command: + + bundle exec rails generate stimulus_reflex:config + + Then open your initializer at + + /config/initializers/stimulus_reflex.rb + + and then add the following directive: + + StimulusReflex.configure do |config| + config.on_failed_sanity_checks = :warn + end + + INFO + end exit end end From d065aa56d354635ba8ee8e123e70440050e49c2a Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 11 Nov 2020 18:10:50 +0000 Subject: [PATCH 119/127] [nodoc] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1727d07..55d3950b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ **Merged pull requests:** +- Allow to supress warnings for sanity checks [\#359](https://github.com/hopsoft/stimulus_reflex/pull/359) ([RolandStuder](https://github.com/RolandStuder)) - serializeForm: only append given input if element is submit button [\#357](https://github.com/hopsoft/stimulus_reflex/pull/357) ([marcoroth](https://github.com/marcoroth)) - Update package.json to 3.4.0-pre2 [\#356](https://github.com/hopsoft/stimulus_reflex/pull/356) ([marcoroth](https://github.com/marcoroth)) - Fix elementToXPath import [\#355](https://github.com/hopsoft/stimulus_reflex/pull/355) ([julianrubisch](https://github.com/julianrubisch)) From a3fa460ea4c67af4ab2f6bfe8195c6f066dd8725 Mon Sep 17 00:00:00 2001 From: Hopsoft Date: Wed, 11 Nov 2020 11:13:20 -0700 Subject: [PATCH 120/127] Pre for pre-release v3.4.0.pre3 --- Gemfile.lock | 14 +++++++------- lib/stimulus_reflex/version.rb | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5b158509..a4c152e3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - stimulus_reflex (3.4.0.pre2) + stimulus_reflex (3.4.0.pre3) nokogiri rack rails (>= 5.2) @@ -92,7 +92,7 @@ GEM nio4r (2.5.4) nokogiri (1.10.10) mini_portile2 (~> 2.4.0) - parallel (1.19.2) + parallel (1.20.0) parser (2.7.2.0) ast (~> 2.4.1) pry (0.12.2) @@ -134,13 +134,13 @@ GEM redis (4.2.2) regexp_parser (1.8.2) rexml (3.2.4) - rubocop (1.0.0) + rubocop (1.2.0) parallel (~> 1.10) parser (>= 2.7.1.5) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8) rexml - rubocop-ast (>= 0.6.0) + rubocop-ast (>= 1.0.1) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) rubocop-ast (1.1.1) @@ -156,14 +156,14 @@ GEM actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) - standard (0.8.1) - rubocop (= 1.0.0) + standard (0.9.0) + rubocop (= 1.2.0) rubocop-performance (= 1.8.1) standardrb (1.0.0) standard thor (1.0.1) thread_safe (0.3.6) - tzinfo (1.2.7) + tzinfo (1.2.8) thread_safe (~> 0.1) unicode-display_width (1.7.0) websocket-driver (0.7.3) diff --git a/lib/stimulus_reflex/version.rb b/lib/stimulus_reflex/version.rb index af04295d..4dbd5417 100644 --- a/lib/stimulus_reflex/version.rb +++ b/lib/stimulus_reflex/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module StimulusReflex - VERSION = "3.4.0.pre2" + VERSION = "3.4.0.pre3" end From 74947621393253b8d6a92d09c255a1dfe012cb02 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 11 Nov 2020 18:15:24 +0000 Subject: [PATCH 121/127] [nodoc] update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55d3950b..1b9f2e94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Changelog -## [Unreleased](https://github.com/hopsoft/stimulus_reflex/tree/HEAD) +## [v3.4.0.pre3](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre3) (2020-11-11) -[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre2...HEAD) +[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre2...v3.4.0.pre3) **Merged pull requests:** From 05f5d8575d2a6df7bb4174fb0f6e82b7f504519e Mon Sep 17 00:00:00 2001 From: Hopsoft Date: Wed, 11 Nov 2020 11:15:17 -0700 Subject: [PATCH 122/127] Update js with latest version --- javascript/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript/package.json b/javascript/package.json index d97671ac..c3ef1aab 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -1,6 +1,6 @@ { "name": "stimulus_reflex", - "version": "3.4.0-pre2", + "version": "3.4.0-pre3", "description": "Build reactive applications with the Rails tooling you already know and love.", "keywords": [ "ruby", From 903f200f3fd75f3ced78c03f5d071b2b706d2183 Mon Sep 17 00:00:00 2001 From: leastbad Date: Wed, 11 Nov 2020 13:45:16 -0500 Subject: [PATCH 123/127] xpath fix --- javascript/utils.js | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/javascript/utils.js b/javascript/utils.js index 73fdd954..7074e4e2 100644 --- a/javascript/utils.js +++ b/javascript/utils.js @@ -76,9 +76,9 @@ export const emitEvent = (event, detail) => { } // construct a valid xPath for an element in the DOM -const computeXPath = element => { +export const elementToXPath = element => { if (element.id !== '') return "//*[@id='" + element.id + "']" - if (element === document.body) return 'body' + if (element === document.body) return '/html/body' let ix = 0 const siblings = element.parentNode.childNodes @@ -98,12 +98,6 @@ const computeXPath = element => { } } -// if element has an id, pass directly; otherwise, prepend /html/ -export const elementToXPath = element => { - const xpath = computeXPath(element) - return xpath.startsWith('//*') ? xpath : '/html/' + xpath -} - export const xPathToElement = xpath => { return document.evaluate( xpath, From 1dcf37e8c06061cbb7927c09f516e543d4677ba8 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 11 Nov 2020 19:13:46 +0000 Subject: [PATCH 124/127] [nodoc] update changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b9f2e94..0224dde7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [Unreleased](https://github.com/hopsoft/stimulus_reflex/tree/HEAD) + +[Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre3...HEAD) + +**Merged pull requests:** + +- xpath fix [\#360](https://github.com/hopsoft/stimulus_reflex/pull/360) ([leastbad](https://github.com/leastbad)) + ## [v3.4.0.pre3](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre3) (2020-11-11) [Full Changelog](https://github.com/hopsoft/stimulus_reflex/compare/v3.4.0.pre2...v3.4.0.pre3) From 0f8aecfc5b3c1e387ff612dcc26e921ba83a7208 Mon Sep 17 00:00:00 2001 From: Roland Studer Date: Fri, 13 Nov 2020 02:35:37 +0100 Subject: [PATCH 125/127] Do not run sanity check on `rails generate stimulus_reflex:config` If a sanity check fails, the user gets a hint to create the configuration file with `rails generate stimulus_reflex:config`, however this command will also fail because it will also run the sanity check. Therefore we have to bypass the sanity check if the caller is a `generate_command`. Co-authored-by: Marco Roth --- lib/stimulus_reflex/sanity_checker.rb | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/stimulus_reflex/sanity_checker.rb b/lib/stimulus_reflex/sanity_checker.rb index 8452d14b..53642853 100644 --- a/lib/stimulus_reflex/sanity_checker.rb +++ b/lib/stimulus_reflex/sanity_checker.rb @@ -3,12 +3,21 @@ class StimulusReflex::SanityChecker JSON_VERSION_FORMAT = /(\d+\.\d+\.\d+.*)"/ - def self.check! - return if StimulusReflex.config.on_failed_sanity_checks == :ignore + class << self + def check! + return if StimulusReflex.config.on_failed_sanity_checks == :ignore + return if called_by_generate_config? + + instance = new + instance.check_caching_enabled + instance.check_javascript_package_version + end + + private - instance = new - instance.check_caching_enabled - instance.check_javascript_package_version + def called_by_generate_config? + ARGV.include? "stimulus_reflex:config" + end end def check_caching_enabled From c96069059041a900311b299338abf52c5fb0c65a Mon Sep 17 00:00:00 2001 From: leastbad <38150464+leastbad@users.noreply.github.com> Date: Sat, 14 Nov 2020 20:18:49 -0500 Subject: [PATCH 126/127] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d49b58b4..ece0c3f4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "stimulus_reflex", - "version": "3.4.0-pre2", + "version": "3.4.0-pre3", "description": "Build reactive applications with the Rails tooling you already know and love.", "keywords": [ "ruby", From f3d490b4410928a9b34865d7dc61ae28d32029dd Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 15 Nov 2020 01:20:27 +0000 Subject: [PATCH 127/127] [nodoc] update changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0224dde7..fb7399c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ **Merged pull requests:** +- Do not run sanity check on `rails generate stimulus\_reflex:config` [\#362](https://github.com/hopsoft/stimulus_reflex/pull/362) ([RolandStuder](https://github.com/RolandStuder)) - xpath fix [\#360](https://github.com/hopsoft/stimulus_reflex/pull/360) ([leastbad](https://github.com/leastbad)) ## [v3.4.0.pre3](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre3) (2020-11-11) @@ -33,7 +34,6 @@ **Merged pull requests:** - move `cable\_ready` to development dependencies [\#351](https://github.com/hopsoft/stimulus_reflex/pull/351) ([marcoroth](https://github.com/marcoroth)) -- Fix serializeForm initialization [\#349](https://github.com/hopsoft/stimulus_reflex/pull/349) ([marcoroth](https://github.com/marcoroth)) ## [v3.4.0.pre1](https://github.com/hopsoft/stimulus_reflex/tree/v3.4.0.pre1) (2020-11-03) @@ -67,6 +67,7 @@ **Merged pull requests:** +- Fix serializeForm initialization [\#349](https://github.com/hopsoft/stimulus_reflex/pull/349) ([marcoroth](https://github.com/marcoroth)) - \[docs\] StimulusReflex.debug= on left hand side [\#348](https://github.com/hopsoft/stimulus_reflex/pull/348) ([drnic](https://github.com/drnic)) - Fix page morphs inside Rails engines [\#344](https://github.com/hopsoft/stimulus_reflex/pull/344) ([leastbad](https://github.com/leastbad)) - Use Webpacker folder if available [\#343](https://github.com/hopsoft/stimulus_reflex/pull/343) ([coorasse](https://github.com/coorasse))