From 56e5b8539ef9e3c519e8090243d7107fdbff9d5f Mon Sep 17 00:00:00 2001 From: capatommy Date: Mon, 10 Aug 2020 15:11:09 +0200 Subject: [PATCH 01/41] yarn --- yarn.lock | 8864 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 8864 insertions(+) create mode 100644 yarn.lock diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..1e3aa0d --- /dev/null +++ b/yarn.lock @@ -0,0 +1,8864 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35": + 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/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/highlight@^7.10.4": + 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" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + +"@sindresorhus/is@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" + integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== + +"@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/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/jest@22.2.3": + version "22.2.3" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-22.2.3.tgz#0157c0316dc3722c43a7b71de3fdf3acbccef10d" + integrity sha512-e74sM9W/4qqWB6D4TWV9FQk0WoHtX1X4FJpbjxucMSVJHtFjbQOH3H6yp+xno4br0AKG0wz/kPtaN599GUOvAg== + +"@types/minimatch@*", "@types/minimatch@^3.0.3": + 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.0.27" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1" + integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g== + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +JSONStream@^1.2.1, JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abab@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c" + integrity sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-dynamic-import@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" + integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg== + dependencies: + acorn "^5.0.0" + +acorn-globals@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + +acorn@^5.0.0, acorn@^5.5.3: + version "5.7.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== + +acorn@^6.0.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" + integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== + +ajv-keywords@^3.1.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.12.3: + version "6.12.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" + integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== + 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" + +ansi-escapes@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= + +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-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +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@^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.0.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== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +ansi-styles@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= + +any-observable@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.2.0.tgz#c67870058003579009083f54ac0abafb5c33d242" + integrity sha1-xnhwBYADV5AJCD9UrAq6+1wz0kI= + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +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" + +append-transform@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + integrity sha1-126/jKlNJ24keja61EpLdKthGZE= + dependencies: + default-require-extensions "^1.0.0" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +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" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= + +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-includes@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" + integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0" + is-string "^1.0.5" + +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= + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +arrify@^1.0.0, arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +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@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types@0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.10.1.tgz#f52fca9715579a14f841d67d7f8d25432ab6a3dd" + integrity sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ== + +ast-types@0.11.5: + version "0.11.5" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.5.tgz#9890825d660c03c28339f315e9fa0a360e31ec28" + integrity sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw== + +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== + +async-each@^1.0.0, async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async@0.9.x: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + +async@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + +async@^2.1.4, async@^2.6.0, async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +awesome-typescript-loader@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/awesome-typescript-loader/-/awesome-typescript-loader-5.0.0.tgz#130c304ae52a60933f15d93f7629003b483fa8b1" + integrity sha512-/80vlBnWp5IlERQ0sxRDQfz5voqht02MRNgUdbn90rKHrope6eh0PYr0qepD2TpYYnCSvq0DzdWc8udHM0KefA== + dependencies: + chalk "^2.3.1" + enhanced-resolve "^4.0.0" + loader-utils "^1.1.0" + lodash "^4.17.5" + micromatch "^3.1.9" + mkdirp "^0.5.1" + source-map-support "^0.5.3" + +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.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" + integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== + +axios@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== + dependencies: + follow-redirects "1.5.10" + is-buffer "^2.0.2" + +babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.0.0, babel-core@^6.26.0: + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-generator@^6.18.0, babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-bindify-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + integrity sha1-FMGeXxQte0fxmlJDHlKxzLxAozA= + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo= + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-explode-class@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + integrity sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes= + dependencies: + babel-helper-bindify-decorators "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo= + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-jest@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.4.tgz#977259240420e227444ebe49e226a61e49ea659d" + integrity sha512-A9NB6/lZhYyypR9ATryOSDcqBaqNdzq4U+CN+/wcMsLcmKkPxQEoTKLajGfd3IkxNyVBT8NewUK2nWyGbSzHEQ== + dependencies: + babel-plugin-istanbul "^4.1.5" + babel-preset-jest "^22.4.4" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-istanbul@^4.1.4, babel-plugin-istanbul@^4.1.5: + version "4.1.6" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" + integrity sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ== + dependencies: + babel-plugin-syntax-object-rest-spread "^6.13.0" + find-up "^2.1.0" + istanbul-lib-instrument "^1.10.1" + test-exclude "^4.2.1" + +babel-plugin-jest-hoist@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz#b9851906eab34c7bf6f8c895a2b08bea1a844c0b" + integrity sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ== + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU= + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + integrity sha1-a8lj67FuzLrmuStZbrfzXDQqi5o= + +babel-plugin-syntax-class-constructor-call@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" + integrity sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY= + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + integrity sha1-1+sjt5oxf4VDlixQW4J8fWysJ94= + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + integrity sha1-MSVjtNvePMgGzuPkFszurd0RrAs= + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + integrity sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo= + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= + +babel-plugin-syntax-export-extensions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" + integrity sha1-cKFITw+QiaToStRLrDU8lbmxJyE= + +babel-plugin-syntax-flow@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" + integrity sha1-TDqyCiryaqIM0lmVw5jE63AxDI0= + +babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= + +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + integrity sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds= + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-class-constructor-call@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" + integrity sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk= + dependencies: + babel-plugin-syntax-class-constructor-call "^6.18.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-class-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + integrity sha1-anl2PqYdM9NvN7YRqp3vgagbRqw= + dependencies: + babel-helper-function-name "^6.24.1" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + integrity sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0= + dependencies: + babel-helper-explode-class "^6.24.1" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.26.0: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-export-extensions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" + integrity sha1-U3OLR+deghhYnuqUbLvTkQm75lM= + dependencies: + babel-plugin-syntax-export-extensions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-flow-strip-types@^6.8.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" + integrity sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988= + dependencies: + babel-plugin-syntax-flow "^6.18.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-object-rest-spread@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-preset-es2015@^6.9.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + integrity sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk= + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-preset-jest@^22.4.0, babel-preset-jest@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz#ec9fbd8bcd7dfd24b8b5320e0e688013235b7c39" + integrity sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA== + dependencies: + babel-plugin-jest-hoist "^22.4.4" + babel-plugin-syntax-object-rest-spread "^6.13.0" + +babel-preset-stage-1@^6.5.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" + integrity sha1-dpLNfc1oSZB+auSgqFWJz7niv7A= + dependencies: + babel-plugin-transform-class-constructor-call "^6.24.1" + babel-plugin-transform-export-extensions "^6.22.0" + babel-preset-stage-2 "^6.24.1" + +babel-preset-stage-2@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + integrity sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE= + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-decorators "^6.24.1" + babel-preset-stage-3 "^6.24.1" + +babel-preset-stage-3@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + integrity sha1-g2raCp56f6N8sTj7kyb4eTSkg5U= + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.22.0" + +babel-register@^6.26.0, babel-register@^6.9.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.17.3, babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +babylon@^7.0.0-beta.47: + version "7.0.0-beta.47" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" + integrity sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ== + +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= + +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +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@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + +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@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +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== + +binaryextensions@^2.1.2: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" + integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bluebird@^3.5.1: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: + version "4.11.9" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== + +bn.js@^5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" + integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.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@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +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" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +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-resolve@^1.11.2: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + +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== + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cacache@^10.0.4: + version "10.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" + integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA== + dependencies: + bluebird "^3.5.1" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^2.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^5.2.4" + unique-filename "^1.1.0" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cacheable-request@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" + integrity sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0= + dependencies: + clone-response "1.0.2" + get-stream "3.0.0" + http-cache-semantics "3.8.1" + keyv "3.0.0" + lowercase-keys "1.0.0" + normalize-url "2.0.1" + responselike "1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +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= + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +capture-exit@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" + integrity sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28= + dependencies: + rsvp "^3.3.3" + +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== + +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@^1.0.0, chalk@^1.1.1, 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.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.3.2, 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.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" + +chalk@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + integrity sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8= + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + +chardet@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= + +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@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chokidar@^2.0.0, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" + integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== + 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.4.0" + optionalDependencies: + fsevents "~2.1.2" + +chownr@^1.0.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz#d395af2d31c87b90a716c831fe326f69768ec084" + integrity sha512-sjndyZHrrWiu4RY7AkHgjn80GfAM2ZSzUkZLV/Js59Ldmh6JDThf0SUmOHU53rFu2rVxxfCzJ30Ukcfch3Gb/A== + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@4.2.x: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + +clean-webpack-plugin@0.1.19: + version "0.1.19" + resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz#ceda8bb96b00fe168e9b080272960d20fdcadd6d" + integrity sha512-M1Li5yLHECcN2MahoreuODul5LkjohJGFxLPTjl3j1ttKrF5rgjZET1SJduuqxLAuT1gAPOdkhg03qcaaU1KeA== + dependencies: + rimraf "^2.6.1" + +cli-cursor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= + dependencies: + restore-cursor "^1.0.1" + +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-spinners@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" + integrity sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw= + +cli-table@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= + dependencies: + colors "1.0.3" + +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@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== + +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@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +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= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + 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.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== + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + +colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +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.17.x: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +commander@^2.12.1: + 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== + +commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.5.2: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +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-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +connect-history-api-fallback@^1.3.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@^1.4.0, convert-source-map@^1.5.1: + 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" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-webpack-plugin@^4.5.1: + version "4.6.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz#e7f40dd8a68477d405dd1b7a854aae324b158bae" + integrity sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA== + dependencies: + cacache "^10.0.4" + find-cache-dir "^1.0.0" + globby "^7.1.1" + is-glob "^4.0.0" + loader-utils "^1.1.0" + minimatch "^3.0.4" + p-limit "^1.0.0" + serialize-javascript "^1.4.0" + +core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0: + version "2.6.11" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cpx@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/cpx/-/cpx-1.5.0.tgz#185be018511d87270dedccc293171e37655ab88f" + integrity sha1-GFvgGFEdhycN7czCkxceN2VauI8= + dependencies: + babel-runtime "^6.9.2" + chokidar "^1.6.0" + duplexer "^0.1.1" + glob "^7.0.5" + glob2base "^0.0.12" + minimatch "^3.0.2" + mkdirp "^0.5.1" + resolve "^1.1.7" + safe-buffer "^5.0.1" + shell-quote "^1.6.1" + subarg "^1.0.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + dependencies: + capture-stack-trace "^1.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0, 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" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-what@2.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== + dependencies: + cssom "0.3.x" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dargs@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-5.1.0.tgz#ec7ea50c78564cd36c9d5ec18f66329fade27829" + integrity sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk= + +dargs@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-6.1.0.tgz#1f3b9b56393ecf8caa7cbfd6c31496ffcfb9b272" + integrity sha512-5dVBvpBLBnPwSsYXqfybFyehMmC/EenKEcf23AhCTgTf48JFBbmJKqoZBsERDnjL0FyiVTYWdFsRfTLHxLyKdQ== + +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" + +data-urls@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.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== + +dateformat@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@=3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@^3.1.1: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +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== + dependencies: + ms "^2.1.1" + +decamelize@^1.1.1, decamelize@^1.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= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.2.0, decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +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= + +default-require-extensions@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + integrity sha1-836hXT4T/9m0N9M+GnW1+5eHTLg= + dependencies: + strip-bom "^2.0.0" + +define-properties@^1.1.2, 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" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + +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= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-conflict@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e" + integrity sha1-CIZXpmqWHAUBnbfEIwiDsca0F24= + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= + dependencies: + repeating "^2.0.0" + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +detect-node@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + +diff@^3.2.0, diff@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + +dir-glob@^2.0.0, dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +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" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@1, domelementtype@^1.3.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.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1: + 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" + +download-stats@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/download-stats/-/download-stats-0.3.4.tgz#67ea0c32f14acd9f639da704eef509684ba2dae7" + integrity sha512-ic2BigbyUWx7/CBbsfGjf71zUNZB4edBGC3oRliSzsoNmvyVx3Ycfp1w3vp2Y78Ee0eIIkjIEO5KzW0zThDGaA== + dependencies: + JSONStream "^1.2.1" + lazy-cache "^2.0.1" + moment "^2.15.1" + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +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" + +editions@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/editions/-/editions-2.3.1.tgz#3bc9962f1978e801312fbd0aebfed63b49bfe698" + integrity sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA== + dependencies: + errlop "^2.0.0" + semver "^6.3.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^2.5.9, ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + +ejs@^3.0.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.3.tgz#514d967a8894084d18d3d47bd169a1c0560f093d" + integrity sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg== + dependencies: + jake "^10.6.1" + +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= + +elliptic@^6.5.3: + version "6.5.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +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@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +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== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, 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" + +enhanced-resolve@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +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== + +envinfo@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-4.4.2.tgz#472c49f3a8b9bca73962641ce7cb692bf623cd1c" + integrity sha512-5rfRs+m+6pwoKRCFqpsA5+qsLngFms1aWPrxfKbrObCzQaPc3M3yPloZx+BL9UE3dK58cxw36XVQbFRSCCfGSQ== + +errlop@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/errlop/-/errlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" + integrity sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, 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" + +error@^7.0.2: + version "7.2.1" + resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" + integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== + dependencies: + string-template "~0.2.1" + +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, 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== + 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" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-to-primitive@^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" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +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.9.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@^3.7.1: + version "3.7.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535" + integrity sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + dependencies: + estraverse "^4.1.0" + +estraverse@^4.1.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== + +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== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eventemitter3@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== + +events@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== + +eventsource@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" + integrity sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI= + dependencies: + original ">=0.0.5" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" + integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== + dependencies: + merge "^1.2.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" + integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= + dependencies: + fill-range "^2.1.0" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +expect@^22.4.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" + integrity sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA== + dependencies: + ansi-styles "^3.2.0" + jest-diff "^22.4.3" + jest-get-type "^22.4.3" + jest-matcher-utils "^22.4.3" + jest-message-util "^22.4.3" + jest-regex-util "^22.4.3" + +express@^4.16.2: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + dependencies: + type "^2.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +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@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" + integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== + dependencies: + chardet "^0.4.0" + iconv-lite "^0.4.17" + tmp "^0.0.33" + +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" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +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@^2.0.2, fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +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= + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.0: + version "0.11.3" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.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-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filelist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb" + integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ== + dependencies: + minimatch "^3.0.4" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= + +fileset@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= + dependencies: + glob "^7.0.3" + minimatch "^3.0.3" + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +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" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + +find-index@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ= + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.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.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" + +first-chunk-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= + dependencies: + readable-stream "^2.0.2" + +flow-parser@^0.*: + version "0.131.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.131.0.tgz#25c8923870d63d867714c0563409b8184afdea19" + integrity sha512-S61g70eHtnSn6SQqCgA+aXArupZp/0oku4Uyb8sFZH2HldSUkLUwWeh1Afl9BpQutNfNKaO+efpD2Yvek+EGuA== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + +follow-redirects@^1.0.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" + integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +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" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0, from2@^2.1.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +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@^1.0.0, fsevents@^1.2.3, fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +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== + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +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-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + +get-stream@3.0.0, get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.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" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +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" + +gh-got@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-5.0.0.tgz#ee95be37106fd8748a96f8d1db4baea89e1bfa8a" + integrity sha1-7pW+NxBv2HSKlvjR20uuqJ4b+oo= + dependencies: + got "^6.2.0" + is-plain-obj "^1.1.0" + +gh-got@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-6.0.0.tgz#d74353004c6ec466647520a10bd46f7299d268d0" + integrity sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw== + dependencies: + got "^7.0.0" + is-plain-obj "^1.1.0" + +git-revision-webpack-plugin@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/git-revision-webpack-plugin/-/git-revision-webpack-plugin-3.0.1.tgz#49a884ffa7e13caaf00331fcdb71a30cd8dc1216" + integrity sha512-LlxlaB1WAKFLWLU/tMJySYV7DpbqKkvau261tGbp73Bb+MaEtbEasY+pXINV8TUHouItyOwnP7+orWB/m5GtvQ== + +github-username@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/github-username/-/github-username-3.0.0.tgz#0a772219b3130743429f2456d0bdd3db55dce7b1" + integrity sha1-CnciGbMTB0NCnyRW0L3T21Xc57E= + dependencies: + gh-got "^5.0.0" + +github-username@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/github-username/-/github-username-4.1.0.tgz#cbe280041883206da4212ae9e4b5f169c30bf417" + integrity sha1-y+KABBiDIG2kISrp5LXxacML9Bc= + dependencies: + gh-got "^6.0.0" + +glob-all@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/glob-all/-/glob-all-3.2.1.tgz#082ca81afd2247cbd3ed2149bb2630f4dc877d95" + integrity sha512-x877rVkzB3ipid577QOp+eQCR6M5ZyiwrtaYgrX/z3EThaSPFtLDwBXFHc3sH1cG0R0vFYI5SRYeWMMSEyXkUw== + dependencies: + glob "^7.1.2" + yargs "^15.3.1" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.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-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob2base@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + integrity sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY= + dependencies: + find-index "^0.1.1" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, 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" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + +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@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== + dependencies: + array-union "^1.0.1" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +got@^6.2.0: + version "6.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + +got@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== + dependencies: + decompress-response "^3.2.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-plain-obj "^1.1.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + p-cancelable "^0.3.0" + p-timeout "^1.1.1" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + url-parse-lax "^1.0.0" + url-to-options "^1.0.1" + +got@^8.2.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" + integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== + dependencies: + "@sindresorhus/is" "^0.7.0" + cacheable-request "^2.1.1" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + into-stream "^3.1.0" + is-retry-allowed "^1.1.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + mimic-response "^1.0.0" + p-cancelable "^0.4.0" + p-timeout "^2.0.1" + pify "^3.0.0" + safe-buffer "^5.1.1" + timed-out "^4.0.1" + url-parse-lax "^3.0.0" + url-to-options "^1.0.1" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +grouped-queue@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-1.1.0.tgz#63e3f9ca90af952269d1d40879e41221eacc74cb" + integrity sha512-rZOFKfCqLhsu5VqjBjEWiwrYqJR07KxIkH4mLZlNlGDfntbb4FbMyGFP14TlvRPrU9S3Hnn/sgxbC5ZeN0no3Q== + dependencies: + lodash "^4.17.15" + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +handle-thing@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" + integrity sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ= + +handlebars@^4.0.3: + 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-color@~0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= + +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-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + +has-symbols@^1.0.0, 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-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.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" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +html-entities@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" + integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== + +html-minifier@^3.2.3: + version "3.5.21" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-webpack-plugin@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" + integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + +htmlparser2@^3.3.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +http-cache-semantics@3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-parser-js@>=0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" + integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== + +http-proxy-middleware@~0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz#0987e6bb5a5606e5a69168d8f967a87f15dd8aab" + integrity sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q== + dependencies: + http-proxy "^1.16.2" + is-glob "^4.0.0" + lodash "^4.17.5" + micromatch "^3.1.9" + +http-proxy@^1.16.2: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +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" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +iconv-lite@0.4.24, iconv-lite@^0.4.17, 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" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +ignore@^4.0.3: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +import-local@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" + integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ== + dependencies: + pkg-dir "^2.0.0" + resolve-cwd "^2.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@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + +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= + +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.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, 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== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +inquirer@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726" + integrity sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ== + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.1.0" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^5.5.2" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + +inquirer@^7.1.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" + +internal-ip@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" + integrity sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w= + dependencies: + meow "^3.3.0" + +interpret@^1.0.0, interpret@^1.0.4: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +into-stream@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" + integrity sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY= + dependencies: + from2 "^2.1.1" + p-is-promise "^1.1.0" + +invariant@^2.2.2: + 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" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.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-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +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@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@^2.0.2: + 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-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.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" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= + +is-extglob@^2.1.0, 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-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== + +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-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + integrity sha1-lp1J4bszKfa7fwkIm+JleLLd1Go= + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +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-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +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-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= + +is-observable@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" + integrity sha1-s2ExHYPG5dcmyr9eJQsCNxBvWuI= + dependencies: + symbol-observable "^0.2.2" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-plain-obj@^1.0.0, 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-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= + +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-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + +is-regex@^1.0.4, is-regex@^1.1.0: + 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-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + +is-scoped@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" + integrity sha1-RJypgpnnEwOCViieyytUDcQ3yzA= + dependencies: + scoped-regex "^1.0.0" + +is-stream@^1.0.0, 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-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-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-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-utf8@^0.2.0, is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isbinaryfile@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" + integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== + dependencies: + buffer-alloc "^1.2.0" + +isbinaryfile@^4.0.0: + version "4.0.6" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b" + integrity sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg== + +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= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +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= + +istanbul-api@^1.1.14: + version "1.3.7" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.7.tgz#a86c770d2b03e11e3f778cd7aedd82d2722092aa" + integrity sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA== + dependencies: + async "^2.1.4" + fileset "^2.0.2" + istanbul-lib-coverage "^1.2.1" + istanbul-lib-hook "^1.2.2" + istanbul-lib-instrument "^1.10.2" + istanbul-lib-report "^1.1.5" + istanbul-lib-source-maps "^1.2.6" + istanbul-reports "^1.5.1" + js-yaml "^3.7.0" + mkdirp "^0.5.1" + once "^1.4.0" + +istanbul-lib-coverage@^1.1.1, istanbul-lib-coverage@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" + integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== + +istanbul-lib-hook@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz#bc6bf07f12a641fbf1c85391d0daa8f0aea6bf86" + integrity sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw== + dependencies: + append-transform "^0.4.0" + +istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.10.2, istanbul-lib-instrument@^1.8.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" + integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.18.0" + istanbul-lib-coverage "^1.2.1" + semver "^5.3.0" + +istanbul-lib-report@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz#f2a657fc6282f96170aaf281eb30a458f7f4170c" + integrity sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw== + dependencies: + istanbul-lib-coverage "^1.2.1" + mkdirp "^0.5.1" + path-parse "^1.0.5" + supports-color "^3.1.2" + +istanbul-lib-source-maps@^1.2.1, istanbul-lib-source-maps@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz#37b9ff661580f8fca11232752ee42e08c6675d8f" + integrity sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg== + dependencies: + debug "^3.1.0" + istanbul-lib-coverage "^1.2.1" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + +istanbul-reports@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz#97e4dbf3b515e8c484caea15d6524eebd3ff4e1a" + integrity sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw== + dependencies: + handlebars "^4.0.3" + +istextorbinary@^2.2.1, istextorbinary@^2.5.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.6.0.tgz#60776315fb0fa3999add276c02c69557b9ca28ab" + integrity sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA== + dependencies: + binaryextensions "^2.1.2" + editions "^2.2.0" + textextensions "^2.5.0" + +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + +jake@^10.6.1: + version "10.8.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" + integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== + dependencies: + async "0.9.x" + chalk "^2.4.2" + filelist "^1.0.1" + minimatch "^3.0.4" + +jest-changed-files@^22.2.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.4.3.tgz#8882181e022c38bd46a2e4d18d44d19d90a90fb2" + integrity sha512-83Dh0w1aSkUNFhy5d2dvqWxi/y6weDwVVLU6vmK0cV9VpRxPzhTeGimbsbRDSnEoszhF937M4sDLLeS7Cu/Tmw== + dependencies: + throat "^4.0.0" + +jest-cli@^22.4.3: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.4.tgz#68cd2a2aae983adb1e6638248ca21082fd6d9e90" + integrity sha512-I9dsgkeyjVEEZj9wrGrqlH+8OlNob9Iptyl+6L5+ToOLJmHm4JwOPatin1b2Bzp5R5YRQJ+oiedx7o1H7wJzhA== + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.1.11" + import-local "^1.0.0" + is-ci "^1.0.10" + istanbul-api "^1.1.14" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-instrument "^1.8.0" + istanbul-lib-source-maps "^1.2.1" + jest-changed-files "^22.2.0" + jest-config "^22.4.4" + jest-environment-jsdom "^22.4.1" + jest-get-type "^22.1.0" + jest-haste-map "^22.4.2" + jest-message-util "^22.4.0" + jest-regex-util "^22.1.0" + jest-resolve-dependencies "^22.1.0" + jest-runner "^22.4.4" + jest-runtime "^22.4.4" + jest-snapshot "^22.4.0" + jest-util "^22.4.1" + jest-validate "^22.4.4" + jest-worker "^22.2.2" + micromatch "^2.3.11" + node-notifier "^5.2.1" + realpath-native "^1.0.0" + rimraf "^2.5.4" + slash "^1.0.0" + string-length "^2.0.0" + strip-ansi "^4.0.0" + which "^1.2.12" + yargs "^10.0.3" + +jest-config@^22.4.2, jest-config@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.4.tgz#72a521188720597169cd8b4ff86934ef5752d86a" + integrity sha512-9CKfo1GC4zrXSoMLcNeDvQBfgtqGTB1uP8iDIZ97oB26RCUb886KkKWhVcpyxVDOUxbhN+uzcBCeFe7w+Iem4A== + dependencies: + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^22.4.1" + jest-environment-node "^22.4.1" + jest-get-type "^22.1.0" + jest-jasmine2 "^22.4.4" + jest-regex-util "^22.1.0" + jest-resolve "^22.4.2" + jest-util "^22.4.1" + jest-validate "^22.4.4" + pretty-format "^22.4.0" + +jest-diff@^22.4.0, jest-diff@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030" + integrity sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA== + dependencies: + chalk "^2.0.1" + diff "^3.2.0" + jest-get-type "^22.4.3" + pretty-format "^22.4.3" + +jest-docblock@^22.4.0, jest-docblock@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.3.tgz#50886f132b42b280c903c592373bb6e93bb68b19" + integrity sha512-uPKBEAw7YrEMcXueMKZXn/rbMxBiSv48fSqy3uEnmgOlQhSX+lthBqHb1fKWNVmFqAp9E/RsSdBfiV31LbzaOg== + dependencies: + detect-newline "^2.1.0" + +jest-environment-jsdom@^22.4.1: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" + integrity sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w== + dependencies: + jest-mock "^22.4.3" + jest-util "^22.4.3" + jsdom "^11.5.1" + +jest-environment-node@^22.4.1: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" + integrity sha512-reZl8XF6t/lMEuPWwo9OLfttyC26A5AMgDyEQ6DBgZuyfyeNUzYT8BFo6uxCCP/Av/b7eb9fTi3sIHFPBzmlRA== + dependencies: + jest-mock "^22.4.3" + jest-util "^22.4.3" + +jest-get-type@^22.1.0, jest-get-type@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" + integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w== + +jest-haste-map@^22.4.2: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.3.tgz#25842fa2ba350200767ac27f658d58b9d5c2e20b" + integrity sha512-4Q9fjzuPVwnaqGKDpIsCSoTSnG3cteyk2oNVjBX12HHOaF1oxql+uUiqZb5Ndu7g/vTZfdNwwy4WwYogLh29DQ== + dependencies: + fb-watchman "^2.0.0" + graceful-fs "^4.1.11" + jest-docblock "^22.4.3" + jest-serializer "^22.4.3" + jest-worker "^22.4.3" + micromatch "^2.3.11" + sane "^2.0.0" + +jest-jasmine2@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz#c55f92c961a141f693f869f5f081a79a10d24e23" + integrity sha512-nK3vdUl50MuH7vj/8at7EQVjPGWCi3d5+6aCi7Gxy/XMWdOdbH1qtO/LjKbqD8+8dUAEH+BVVh7HkjpCWC1CSw== + dependencies: + chalk "^2.0.1" + co "^4.6.0" + expect "^22.4.0" + graceful-fs "^4.1.11" + is-generator-fn "^1.0.0" + jest-diff "^22.4.0" + jest-matcher-utils "^22.4.0" + jest-message-util "^22.4.0" + jest-snapshot "^22.4.0" + jest-util "^22.4.1" + source-map-support "^0.5.0" + +jest-leak-detector@^22.4.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz#2b7b263103afae8c52b6b91241a2de40117e5b35" + integrity sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ== + dependencies: + pretty-format "^22.4.3" + +jest-matcher-utils@^22.4.0, jest-matcher-utils@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" + integrity sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA== + dependencies: + chalk "^2.0.1" + jest-get-type "^22.4.3" + pretty-format "^22.4.3" + +jest-message-util@^22.4.0, jest-message-util@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" + integrity sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA== + dependencies: + "@babel/code-frame" "^7.0.0-beta.35" + chalk "^2.0.1" + micromatch "^2.3.11" + slash "^1.0.0" + stack-utils "^1.0.1" + +jest-mock@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7" + integrity sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q== + +jest-regex-util@^22.1.0, jest-regex-util@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" + integrity sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg== + +jest-resolve-dependencies@^22.1.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz#e2256a5a846732dc3969cb72f3c9ad7725a8195e" + integrity sha512-06czCMVToSN8F2U4EvgSB1Bv/56gc7MpCftZ9z9fBgUQM7dzHGCMBsyfVA6dZTx8v0FDcnALf7hupeQxaBCvpA== + dependencies: + jest-regex-util "^22.4.3" + +jest-resolve@^22.4.2: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" + integrity sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw== + dependencies: + browser-resolve "^1.11.2" + chalk "^2.0.1" + +jest-runner@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.4.tgz#dfca7b7553e0fa617e7b1291aeb7ce83e540a907" + integrity sha512-5S/OpB51igQW9xnkM5Tgd/7ZjiAuIoiJAVtvVTBcEBiXBIFzWM3BAMPBM19FX68gRV0KWyFuGKj0EY3M3aceeQ== + dependencies: + exit "^0.1.2" + jest-config "^22.4.4" + jest-docblock "^22.4.0" + jest-haste-map "^22.4.2" + jest-jasmine2 "^22.4.4" + jest-leak-detector "^22.4.0" + jest-message-util "^22.4.0" + jest-runtime "^22.4.4" + jest-util "^22.4.1" + jest-worker "^22.2.2" + throat "^4.0.0" + +jest-runtime@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.4.tgz#9ba7792fc75582a5be0f79af6f8fe8adea314048" + integrity sha512-WRTj9m///npte1YjuphCYX7GRY/c2YvJImU9t7qOwFcqHr4YMzmX6evP/3Sehz5DKW2Vi8ONYPCFWe36JVXxfw== + dependencies: + babel-core "^6.0.0" + babel-jest "^22.4.4" + babel-plugin-istanbul "^4.1.5" + chalk "^2.0.1" + convert-source-map "^1.4.0" + exit "^0.1.2" + graceful-fs "^4.1.11" + jest-config "^22.4.4" + jest-haste-map "^22.4.2" + jest-regex-util "^22.1.0" + jest-resolve "^22.4.2" + jest-util "^22.4.1" + jest-validate "^22.4.4" + json-stable-stringify "^1.0.1" + micromatch "^2.3.11" + realpath-native "^1.0.0" + slash "^1.0.0" + strip-bom "3.0.0" + write-file-atomic "^2.1.0" + yargs "^10.0.3" + +jest-serializer@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.3.tgz#a679b81a7f111e4766235f4f0c46d230ee0f7436" + integrity sha512-uPaUAppx4VUfJ0QDerpNdF43F68eqKWCzzhUlKNDsUPhjOon7ZehR4C809GCqh765FoMRtTVUVnGvIoskkYHiw== + +jest-snapshot@^22.4.0: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" + integrity sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ== + dependencies: + chalk "^2.0.1" + jest-diff "^22.4.3" + jest-matcher-utils "^22.4.3" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^22.4.3" + +jest-util@^22.4.1, jest-util@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac" + integrity sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ== + dependencies: + callsites "^2.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.11" + is-ci "^1.0.10" + jest-message-util "^22.4.3" + mkdirp "^0.5.1" + source-map "^0.6.0" + +jest-validate@^22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.4.tgz#1dd0b616ef46c995de61810d85f57119dbbcec4d" + integrity sha512-dmlf4CIZRGvkaVg3fa0uetepcua44DHtktHm6rcoNVtYlpwe6fEJRkMFsaUVcFHLzbuBJ2cPw9Gl9TKfnzMVwg== + dependencies: + chalk "^2.0.1" + jest-config "^22.4.4" + jest-get-type "^22.1.0" + leven "^2.1.0" + pretty-format "^22.4.0" + +jest-worker@^22.2.2, jest-worker@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.4.3.tgz#5c421417cba1c0abf64bf56bd5fb7968d79dd40b" + integrity sha512-B1ucW4fI8qVAuZmicFxI1R3kr2fNeYJyvIQ1rKcuLYnenFV5K5aMbxFj6J0i00Ju83S8jP2d7Dz14+AvbIHRYQ== + dependencies: + merge-stream "^1.0.1" + +jest@22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.3.tgz#2261f4b117dc46d9a4a1a673d2150958dee92f16" + integrity sha512-FFCdU/pXOEASfHxFDOWUysI/+FFoqiXJADEIXgDKuZyqSmBD3tZ4BEGH7+M79v7czj7bbkhwtd2LaEDcJiM/GQ== + dependencies: + import-local "^1.0.0" + jest-cli "^22.4.3" + +"js-tokens@^3.0.0 || ^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== + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.7.0: + 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= + +jscodeshift@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.4.1.tgz#da91a1c2eccfa03a3387a21d39948e251ced444a" + integrity sha512-iOX6If+hsw0q99V3n31t4f5VlD1TQZddH08xbT65ZqA7T4Vkx68emrDZMUOLVvCEAJ6NpAk7DECe3fjC/t52AQ== + dependencies: + async "^1.5.0" + babel-plugin-transform-flow-strip-types "^6.8.0" + babel-preset-es2015 "^6.9.0" + babel-preset-stage-1 "^6.5.0" + babel-register "^6.9.0" + babylon "^6.17.3" + colors "^1.1.2" + flow-parser "^0.*" + lodash "^4.13.1" + micromatch "^2.3.7" + node-dir "0.1.8" + nomnom "^1.8.1" + recast "^0.12.5" + temp "^0.8.1" + write-file-atomic "^1.2.0" + +jscodeshift@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.5.1.tgz#4af6a721648be8638ae1464a190342da52960c33" + integrity sha512-sRMollbhbmSDrR79JMAnhEjyZJlQQVozeeY9A6/KNuV26DNcuB3mGSCWXp0hks9dcwRNOELbNOiwraZaXXRk5Q== + dependencies: + babel-plugin-transform-flow-strip-types "^6.8.0" + babel-preset-es2015 "^6.9.0" + babel-preset-stage-1 "^6.5.0" + babel-register "^6.9.0" + babylon "^7.0.0-beta.47" + colors "^1.1.2" + flow-parser "^0.*" + lodash "^4.13.1" + micromatch "^2.3.7" + neo-async "^2.5.0" + node-dir "0.1.8" + nomnom "^1.8.1" + recast "^0.15.0" + temp "^0.8.1" + write-file-atomic "^1.2.0" + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= + +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-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +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-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@^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= + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +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" + +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= + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= + +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" + +keyv@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" + integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== + dependencies: + json-buffer "3.0.0" + +killable@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +lazy-cache@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" + integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ= + dependencies: + set-getter "^0.1.0" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + +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: + 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: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +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.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" + integrity sha1-NE2YDaLKLosUW6MFkI8yrj9MyKc= + 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 "^1.0.2" + strip-ansi "^3.0.1" + +listr-verbose-renderer@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" + integrity sha1-ggb0z21S3cWCfl/RSYng6WWTOjU= + dependencies: + chalk "^1.1.3" + cli-cursor "^1.0.2" + date-fns "^1.27.2" + figures "^1.7.0" + +listr@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/listr/-/listr-0.13.0.tgz#20bb0ba30bae660ee84cc0503df4be3d5623887d" + integrity sha1-ILsLowuuZg7oTMBQPfS+PVYjiH0= + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + figures "^1.7.0" + indent-string "^2.1.0" + is-observable "^0.2.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.4.0" + listr-verbose-renderer "^0.4.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + ora "^0.2.3" + p-map "^1.1.1" + rxjs "^5.4.2" + stream-to-observable "^0.2.0" + strip-ansi "^3.0.1" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +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" + +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@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0: + version "4.17.19" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== + +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@^2.1.0, log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +log-update@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" + integrity sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE= + dependencies: + ansi-escapes "^1.0.0" + cli-cursor "^1.0.2" + +loglevel@^1.4.1: + version "1.6.8" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" + integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA== + +loglevelnext@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/loglevelnext/-/loglevelnext-1.0.5.tgz#36fc4f5996d6640f539ff203ba819641680d75a2" + integrity sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A== + dependencies: + es6-symbol "^3.1.1" + object.assign "^4.1.0" + +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" + +loud-rejection@^1.0.0, loud-rejection@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lowercase-keys@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + integrity sha1-TjNms55/VFfjXxMkvfb4jQv8cwY= + +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lru-cache@^4.0.1, lru-cache@^4.1.1: + 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" + +make-dir@^1.0.0, make-dir@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +make-dir@^3.0.0: + 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" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-age-cleaner@^0.1.1: + 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" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +math-random@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" + integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +mem-fs-editor@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-4.0.3.tgz#d282a0c4e0d796e9eff9d75661f25f68f389af53" + integrity sha512-tgWmwI/+6vwu6POan82dTjxEpwAoaj0NAFnghtVo/FcLK2/7IhPUtFUUYlwou4MOY6OtjTUJtwpfH1h+eSUziw== + dependencies: + commondir "^1.0.1" + deep-extend "^0.6.0" + ejs "^2.5.9" + glob "^7.0.3" + globby "^7.1.1" + isbinaryfile "^3.0.2" + mkdirp "^0.5.0" + multimatch "^2.0.0" + rimraf "^2.2.8" + through2 "^2.0.0" + vinyl "^2.0.1" + +mem-fs-editor@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-6.0.0.tgz#d63607cf0a52fe6963fc376c6a7aa52db3edabab" + integrity sha512-e0WfJAMm8Gv1mP5fEq/Blzy6Lt1VbLg7gNnZmZak7nhrBTibs+c6nQ4SKs/ZyJYHS1mFgDJeopsLAv7Ow0FMFg== + dependencies: + commondir "^1.0.1" + deep-extend "^0.6.0" + ejs "^2.6.1" + glob "^7.1.4" + globby "^9.2.0" + isbinaryfile "^4.0.0" + mkdirp "^0.5.0" + multimatch "^4.0.0" + rimraf "^2.6.3" + through2 "^3.0.1" + vinyl "^2.2.0" + +mem-fs-editor@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-7.0.1.tgz#e0797802b7797acf43ef3c511f3d3ad5ea765783" + integrity sha512-eD8r4/d2ayp9HHIgBPHB6Ds0ggA8F9cf9HxcNtbqrwqJXfIDrOSMG5K4fV3+Ib3B+HIdrWqkeDDDvrO7i9EbvQ== + dependencies: + commondir "^1.0.1" + deep-extend "^0.6.0" + ejs "^3.0.1" + glob "^7.1.4" + globby "^9.2.0" + isbinaryfile "^4.0.0" + mkdirp "^1.0.0" + multimatch "^4.0.0" + rimraf "^3.0.0" + through2 "^3.0.1" + vinyl "^2.2.0" + +mem-fs@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.2.0.tgz#5f29b2d02a5875cd14cd836c388385892d556cde" + integrity sha512-b8g0jWKdl8pM0LqAPdK9i8ERL7nYrzmJfRhxMiWH2uYdfYnb7uXnmwVb0ZGe7xyEl4lj+nLIU3yf4zPUT+XsVQ== + dependencies: + through2 "^3.0.0" + vinyl "^2.0.1" + vinyl-file "^3.0.0" + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= + dependencies: + mimic-fn "^1.0.0" + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.3.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= + dependencies: + readable-stream "^2.0.1" + +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: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +merge@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" + integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": + 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.17, mime-types@~2.1.19, mime-types@~2.1.24: + 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" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.1.0: + version "2.4.6" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" + integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== + +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.0.0, 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== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, 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.1.0, minimist@^1.1.1, minimist@^1.1.3, 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== + +mississippi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" + integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^2.0.1" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.0: + 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" + +mkdirp@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +moment@^2.15.1, moment@^2.24.0: + version "2.27.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.27.0.tgz#8bff4e3e26a236220dfe3e36de756b6ebaa0105d" + integrity sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +multimatch@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis= + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + arrify "^1.0.0" + minimatch "^3.0.0" + +multimatch@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" + integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + +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== + +nan@^2.12.1: + version "2.14.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" + integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +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= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +neo-async@^2.5.0, 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== + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +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== + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +node-dir@0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.8.tgz#55fb8deb699070707fb67f91a460f0448294c77d" + integrity sha1-VfuN62mQcHB/tn+RpGDwRIKUx30= + +node-forge@0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" + integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-notifier@^5.2.1: + version "5.4.3" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" + integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +nomnom@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" + integrity sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc= + dependencies: + chalk "~0.4.0" + underscore "~1.6.0" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +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-url@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" + integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + +npm-api@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/npm-api/-/npm-api-1.0.0.tgz#6033c283bb04ddb0185344c1ad07ed4f67c77989" + integrity sha512-gtJhIhGq07g9H5sIAB9TZzTySW8MYtcYqg+e+J+5q1GmDsDLLVfyvVBL1VklzjtRsElph11GUtLBS191RDOJxQ== + dependencies: + JSONStream "^1.3.5" + clone-deep "^4.0.1" + download-stats "^0.3.4" + moment "^2.24.0" + paged-request "^2.0.1" + request "^2.88.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@~1.0.1: + 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" + +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.0.7: + 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, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.7.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== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +object-keys@^1.0.11, 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-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.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== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3, 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.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +obuf@^1.0.0, obuf@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +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@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= + +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" + +opn@^5.1.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + dependencies: + is-wsl "^1.1.0" + +optionator@^0.8.1: + 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" + +ora@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" + integrity sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q= + dependencies: + chalk "^1.1.1" + cli-cursor "^1.0.2" + cli-spinners "^0.1.2" + object-assign "^4.0.1" + +original@>=0.0.5: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-locale@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-tmpdir@^1.0.1, 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-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== + +p-cancelable@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" + integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== + +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-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= + dependencies: + p-reduce "^1.0.0" + +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-is-promise@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" + integrity sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4= + +p-is-promise@^2.0.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-lazy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-lazy/-/p-lazy-1.0.0.tgz#ec53c802f2ee3ac28f166cc82d0b2b02de27a835" + integrity sha1-7FPIAvLuOsKPFmzILQsrAt4nqDU= + +p-limit@^1.0.0, p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +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-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.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-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + +p-timeout@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= + dependencies: + p-finally "^1.0.0" + +p-timeout@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" + integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== + dependencies: + p-finally "^1.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0, p-try@^2.1.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== + +paged-request@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/paged-request/-/paged-request-2.0.1.tgz#91164f042231feb68643542d2530476a518ff4de" + integrity sha512-C0bB/PFk9rQskD1YEiz7uuchzqKDQGgdsEHN1ahify0UUWzgmMK4NDG9fhlQg2waogmNFwEvEeHfMRvJySpdVw== + dependencies: + axios "^0.18.0" + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.5" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" + integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.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.0.1" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.1.tgz#7cfe35c1ccd641bce3981467e6c2ece61b3b3878" + integrity sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +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, path-is-absolute@^1.0.1: + 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-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, 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.5, 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-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +pbkdf2@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +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.2.1: + 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, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +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== + +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= + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +portfinder@^1.0.9: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +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= + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= + +prettier@^1.5.3: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + +pretty-bytes@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" + integrity sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk= + +pretty-bytes@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" + integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== + +pretty-error@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + dependencies: + renderkid "^2.0.1" + utila "~0.4" + +pretty-format@^22.4.0, pretty-format@^22.4.3: + version "22.4.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" + integrity sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ== + dependencies: + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" + +private@^0.1.6, private@^0.1.8, private@~0.1.5: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +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== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0, pump@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +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" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +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== + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +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== + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" + integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== + +randomatic@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" + integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + 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" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.0.3, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-chunk@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.1.0.tgz#6a04c0928005ed9d42e1a6ac5600e19cbc7ff655" + integrity sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU= + dependencies: + pify "^3.0.0" + safe-buffer "^5.1.1" + +read-chunk@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-3.2.0.tgz#2984afe78ca9bfbbdb74b19387bf9e86289c16ca" + integrity sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ== + dependencies: + pify "^4.0.1" + with-open-file "^0.1.6" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8" + integrity sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg== + dependencies: + find-up "^3.0.0" + read-pkg "^5.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.0.0, readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +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== + dependencies: + picomatch "^2.2.1" + +realpath-native@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== + dependencies: + util.promisify "^1.0.0" + +recast@^0.12.5: + version "0.12.9" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.9.tgz#e8e52bdb9691af462ccbd7c15d5a5113647a15f1" + integrity sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A== + dependencies: + ast-types "0.10.1" + core-js "^2.4.1" + esprima "~4.0.0" + private "~0.1.5" + source-map "~0.6.1" + +recast@^0.15.0: + version "0.15.5" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.15.5.tgz#6871177ee26720be80d7624e4283d5c855a5cb0b" + integrity sha512-nkAYNqarh73cMWRKFiPQ8I9dOLFvFk6SnG8u/LUlOYfArDOD/EjsVRAs860TlBLrpxqAXHGET/AUAVjdEymL5w== + dependencies: + ast-types "0.11.5" + esprima "~4.0.0" + private "~0.1.5" + source-map "~0.6.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate@^1.2.1: + 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.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== + dependencies: + css-select "^1.1.0" + dom-converter "^0.2" + htmlparser2 "^3.3.0" + strip-ansi "^3.0.0" + utila "^0.4.0" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + +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.5: + 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.87.0, request@^2.88.0: + 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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +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== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-dir@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +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-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.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== + dependencies: + path-parse "^1.0.6" + +responselike@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +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" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + 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" + +rimraf@~2.6.2: + 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" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rsvp@^3.3.3: + version "3.6.2" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" + integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== + +run-async@^2.0.0, run-async@^2.2.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-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^5.4.2, rxjs@^5.5.2: + version "5.5.12" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" + integrity sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw== + dependencies: + symbol-observable "1.0.1" + +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== + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, 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-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + 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-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"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== + +sane@^2.0.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" + integrity sha1-tNwYYcIbQn6SlQej51HiosuKs/o= + dependencies: + anymatch "^2.0.0" + capture-exit "^1.2.0" + exec-sh "^0.2.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.18.0" + optionalDependencies: + fsevents "^1.2.3" + +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== + +schema-utils@^0.4.4, schema-utils@^0.4.5: + version "0.4.7" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" + integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ== + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + +scoped-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" + integrity sha1-o0a7Gs1CB65wvXwMfKnlZra63bg= + +script-ext-html-webpack-plugin@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-2.0.1.tgz#90ac3d77f1892ad9054c3752f0e4673607f6d9a3" + integrity sha512-kUH+XhpjG95ABMnWeKCguM7NCOqSrGlYEnJQKgvPIyq5+FzQuACMLzWOB/Lp7t0sKqKLWNLu8i6MmLRKRo1IUw== + dependencies: + debug "^3.1.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.9.1: + version "1.10.7" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" + integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== + dependencies: + node-forge "0.9.0" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0, 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.1.3, semver@^7.2.1: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^1.4.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== + +serve-index@^1.7.2: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +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= + +set-getter@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" + integrity sha1-12nBgsnVpR9AkUXy+6guXoboA3Y= + dependencies: + to-object-path "^0.3.0" + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +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== + +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +shelljs@^0.8.0, shelljs@^0.8.3: + version "0.8.4" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, 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== + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +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= + +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" + integrity sha1-W6vjhrd15M8U51IJEUUmVAFsixI= + dependencies: + debug "^2.6.6" + eventsource "0.1.6" + faye-websocket "~0.11.0" + inherits "^2.0.1" + json3 "^3.3.2" + url-parse "^1.1.8" + +sockjs@0.3.19: + version "0.3.19" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== + dependencies: + faye-websocket "^0.10.0" + uuid "^3.0.1" + +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + dependencies: + source-map "^0.5.6" + +source-map-support@^0.5.0, source-map-support@^0.5.3: + 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-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: + 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.0, 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== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + +spdy-transport@^2.0.18: + version "2.1.1" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.1.tgz#c54815d73858aadd06ce63001e7d25fa6441623b" + integrity sha512-q7D8c148escoB3Z7ySCASadkegMmUZW8Wb/Q1u0/XBgDKMO880rLQDj8Twiew/tYi7ghemKUi/whSYOwE17f5Q== + dependencies: + debug "^2.6.8" + detect-node "^2.0.3" + hpack.js "^2.1.6" + obuf "^1.1.1" + readable-stream "^2.2.9" + safe-buffer "^5.0.1" + wbuf "^1.7.2" + +spdy@^3.4.1: + version "3.4.7" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" + integrity sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw= + dependencies: + debug "^2.6.8" + handle-thing "^1.2.5" + http-deceiver "^1.2.7" + safe-buffer "^5.0.1" + select-hose "^2.0.0" + spdy-transport "^2.0.18" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +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" + +ssri@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" + integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ== + dependencies: + safe-buffer "^5.1.1" + +stack-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +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= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +stream-to-observable@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.2.0.tgz#59d6ea393d87c2c0ddac10aa0d561bc6ba6f0e10" + integrity sha1-WdbqOT2HwsDdrBCqDVYbxrpvDhA= + dependencies: + any-observable "^0.2.0" + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-template@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" + integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= + +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@^2.0.0, string-width@^2.1.0, 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@^4.1.0, string-width@^4.2.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.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== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +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== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.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@^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-ansi@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= + +strip-bom-buf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" + integrity sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI= + dependencies: + is-utf8 "^0.2.1" + +strip-bom-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" + integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco= + dependencies: + first-chunk-stream "^2.0.0" + strip-bom "^2.0.0" + +strip-bom@3.0.0, strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +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-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + dependencies: + get-stdin "^4.0.1" + +subarg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" + integrity sha1-9izxdYHplrSPyWVpn1TAauJouNI= + dependencies: + minimist "^1.1.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.1.2: + 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.1.0, supports-color@^5.3.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@^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== + dependencies: + has-flag "^4.0.0" + +symbol-observable@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" + integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= + +symbol-observable@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" + integrity sha1-lag9smGG1q9+ehjb2XYKL4bQj0A= + +symbol-tree@^3.2.2: + 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== + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +temp@^0.8.1: + version "0.8.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" + integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== + dependencies: + rimraf "~2.6.2" + +test-exclude@^4.2.1: + version "4.2.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20" + integrity sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA== + dependencies: + arrify "^1.0.1" + micromatch "^2.3.11" + object-assign "^4.1.0" + read-pkg-up "^1.0.1" + require-main-filename "^1.0.1" + +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= + +textextensions@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" + integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through2@^3.0.0, through2@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" + +"through@>=2.2.7 <3", 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= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +timed-out@^4.0.0, timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + +timers-browserify@^2.0.4: + version "2.0.11" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + dependencies: + setimmediate "^1.0.4" + +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" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +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" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + +tough-cookie@^2.3.3, tough-cookie@^2.3.4, 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" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= + +ts-jest@22.4.4: + version "22.4.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-22.4.4.tgz#7b5c0abb2188fe7170840df9f80e78659aaf8a24" + integrity sha512-v9pO7u4HNMDSBCN9IEvlR6taDAGm2mo7nHEDLWyoFDgYeZ4aHm8JHEPrthd8Pmcl4eCM8J4Ata4ROR/cwFRV2A== + dependencies: + babel-core "^6.26.0" + babel-plugin-istanbul "^4.1.4" + babel-plugin-transform-es2015-modules-commonjs "^6.26.0" + babel-preset-jest "^22.4.0" + cpx "^1.5.0" + fs-extra "4.0.3" + jest-config "^22.4.2" + pkg-dir "^2.0.0" + yargs "^11.0.0" + +tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== + +tslint@5.9.1: + version "5.9.1" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.9.1.tgz#1255f87a3ff57eb0b0e1f0e610a8b4748046c9ae" + integrity sha1-ElX4ej/1frCw4fDmEKi0dIBGya4= + dependencies: + babel-code-frame "^6.22.0" + builtin-modules "^1.1.1" + chalk "^2.3.0" + commander "^2.12.1" + diff "^3.2.0" + glob "^7.1.1" + js-yaml "^3.7.0" + minimatch "^3.0.4" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.8.0" + tsutils "^2.12.1" + +tsutils@^2.12.1: + version "2.29.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" + integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +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.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" + integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow== + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@2.8.3: + version "2.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.8.3.tgz#5d817f9b6f31bb871835f4edf0089f21abe6c170" + integrity sha512-K7g15Bb6Ra4lKf7Iq2l/I5/En+hLIHmxWZGq3D4DIRNFxMNV6j2SHSvDOqs2tGd4UvD/fJvrwopzQXjLrT7Itw== + +uglify-es@^3.3.4: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + integrity sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ== + dependencies: + commander "~2.13.0" + source-map "~0.6.1" + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +uglify-js@^3.1.4: + version "3.10.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.1.tgz#dd14767eb7150de97f2573a5ff210db14fffe4ad" + integrity sha512-RjxApKkrPJB6kjJxQS3iZlf///REXWYxYJxO/MpmlQzVkDWVI3PSnCBWezMecmTU/TRkNxrl8bmsfFQCp+LO+Q== + +uglifyjs-webpack-plugin@^1.2.4: + version "1.3.0" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz#75f548160858163a08643e086d5fefe18a5d67de" + integrity sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw== + dependencies: + cacache "^10.0.4" + find-cache-dir "^1.0.0" + schema-utils "^0.4.5" + serialize-javascript "^1.4.0" + source-map "^0.6.1" + uglify-es "^3.3.4" + webpack-sources "^1.1.0" + worker-farm "^1.5.2" + +underscore@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" + integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unique-filename@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +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== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +untildify@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9" + integrity sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA== + +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-join@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.1.8, url-parse@^1.4.3: + version "1.4.7" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + 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.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +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.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +utila@^0.4.0, utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.0.1, uuid@^3.1.0, 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@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" + integrity sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +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" + +vinyl-file@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-3.0.0.tgz#b104d9e4409ffa325faadd520642d0a3b488b365" + integrity sha1-sQTZ5ECf+jJfqt1SBkLQo7SIs2U= + dependencies: + graceful-fs "^4.1.2" + pify "^2.3.0" + strip-bom-buf "^1.0.0" + strip-bom-stream "^2.0.0" + vinyl "^2.0.1" + +vinyl@^2.0.1, vinyl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" + integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +w3c-hr-time@^1.0.1: + 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" + +walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +watch@~0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" + integrity sha1-KAlUdsbffJDJYxOJkMClQj60uYY= + dependencies: + exec-sh "^0.2.0" + minimist "^1.2.0" + +watchpack-chokidar2@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" + integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.5.0: + version "1.7.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" + integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.0" + +wbuf@^1.1.0, wbuf@^1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webpack-addons@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/webpack-addons/-/webpack-addons-1.1.5.tgz#2b178dfe873fb6e75e40a819fa5c26e4a9bc837a" + integrity sha512-MGO0nVniCLFAQz1qv22zM02QPjcpAoJdy7ED0i3Zy7SY1IecgXCm460ib7H/Wq7e9oL5VL6S2BxaObxwIcag0g== + dependencies: + jscodeshift "^0.4.0" + +webpack-cli@2.0.15: + version "2.0.15" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-2.0.15.tgz#7532066556b03bd3292285ac08537e28844616c2" + integrity sha512-bjNeIUO51D4OsmZ5ufzcpzVoacjxfWNfeBZKYL3jc+EMfCME3TyfdCPSUoKiOnebQChfupQuIRpAnx7L4l3Hew== + dependencies: + chalk "^2.3.2" + cross-spawn "^6.0.5" + diff "^3.5.0" + enhanced-resolve "^4.0.0" + envinfo "^4.4.2" + glob-all "^3.1.0" + global-modules "^1.0.0" + got "^8.2.0" + import-local "^1.0.0" + inquirer "^5.1.0" + interpret "^1.0.4" + jscodeshift "^0.5.0" + listr "^0.13.0" + loader-utils "^1.1.0" + lodash "^4.17.5" + log-symbols "^2.2.0" + mkdirp "^0.5.1" + p-each-series "^1.0.0" + p-lazy "^1.0.0" + prettier "^1.5.3" + supports-color "^5.3.0" + v8-compile-cache "^1.1.2" + webpack-addons "^1.1.5" + yargs "^11.1.0" + yeoman-environment "^2.0.0" + yeoman-generator "^2.0.3" + +webpack-dev-middleware@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.1.2.tgz#be4d0c36a4fa7d69d6904093418514caa9df3a40" + integrity sha512-Z11Zp3GTvCe6mGbbtma+lMB9xRfJcNtupXfmvFBujyXqLNms6onDnSi9f/Cb2rw6KkD5kgibOfxhN7npZwTiGA== + dependencies: + loud-rejection "^1.6.0" + memory-fs "~0.4.1" + mime "^2.1.0" + path-is-absolute "^1.0.0" + range-parser "^1.0.3" + url-join "^4.0.0" + webpack-log "^1.0.1" + +webpack-dev-server@3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.3.tgz#5cecfd8a9d60c4638284813f1cf9562f04e5c1c5" + integrity sha512-UXfgQIPpdw2rByoUnCrMAIXCS7IJJMp5N0MDQNk9CuQvirCkuWlu7gQpCS8Kaiz4kogC4TdAQHG3jzh/DdqEWg== + dependencies: + ansi-html "0.0.7" + array-includes "^3.0.3" + bonjour "^3.5.0" + chokidar "^2.0.0" + compression "^1.5.2" + connect-history-api-fallback "^1.3.0" + debug "^3.1.0" + del "^3.0.0" + express "^4.16.2" + html-entities "^1.2.0" + http-proxy-middleware "~0.18.0" + import-local "^1.0.0" + internal-ip "1.2.0" + ip "^1.1.5" + killable "^1.0.0" + loglevel "^1.4.1" + opn "^5.1.0" + portfinder "^1.0.9" + selfsigned "^1.9.1" + serve-index "^1.7.2" + sockjs "0.3.19" + sockjs-client "1.1.4" + spdy "^3.4.1" + strip-ansi "^3.0.0" + supports-color "^5.1.0" + webpack-dev-middleware "3.1.2" + webpack-log "^1.1.2" + yargs "11.0.0" + +webpack-log@^1.0.1, webpack-log@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-1.2.0.tgz#a4b34cda6b22b518dbb0ab32e567962d5c72a43d" + integrity sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA== + dependencies: + chalk "^2.1.0" + log-symbols "^2.1.0" + loglevelnext "^1.0.1" + uuid "^3.1.0" + +webpack-sources@^1.0.1, webpack-sources@^1.1.0: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.6.0.tgz#363eafa733710eb0ed28c512b2b9b9f5fb01e69b" + integrity sha512-Fu/k/3fZeGtIhuFkiYpIy1UDHhMiGKjG4FFPVuvG+5Os2lWA1ttWpmi9Qnn6AgfZqj9MvhZW/rmj/ip+nHr06g== + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^3.0.0" + ajv "^6.1.0" + ajv-keywords "^3.1.0" + chrome-trace-event "^0.1.1" + enhanced-resolve "^4.0.0" + eslint-scope "^3.7.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + micromatch "^3.1.8" + mkdirp "~0.5.0" + neo-async "^2.5.0" + node-libs-browser "^2.0.0" + schema-utils "^0.4.4" + tapable "^1.0.0" + uglifyjs-webpack-plugin "^1.2.4" + watchpack "^1.5.0" + webpack-sources "^1.0.1" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: + 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.1.0, whatwg-mimetype@^2.2.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@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +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@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0: + 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" + +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" + +with-open-file@^0.1.6: + version "0.1.7" + resolved "https://registry.yarnpkg.com/with-open-file/-/with-open-file-0.1.7.tgz#e2de8d974e8a8ae6e58886be4fe8e7465b58a729" + integrity sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA== + dependencies: + p-finally "^1.0.0" + p-try "^2.1.0" + pify "^4.0.1" + +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= + +worker-farm@^1.5.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^1.2.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" + integrity sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8= + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + +write-file-atomic@^2.1.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + dependencies: + async-limiter "~1.0.0" + +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== + +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@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= + +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= + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" + integrity sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ== + dependencies: + camelcase "^4.1.0" + +yargs-parser@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" + integrity sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc= + dependencies: + camelcase "^4.1.0" + +yargs@11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" + integrity sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw== + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^9.0.2" + +yargs@^10.0.3: + version "10.1.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" + integrity sha512-ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig== + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^8.1.0" + +yargs@^11.0.0, yargs@^11.1.0: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.1.tgz#5052efe3446a4df5ed669c995886cc0f13702766" + integrity sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw== + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^3.1.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^9.0.2" + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yeoman-environment@^2.0.0, yeoman-environment@^2.0.5, yeoman-environment@^2.9.5: + version "2.10.3" + resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.10.3.tgz#9d8f42b77317414434cc0e51fb006a4bdd54688e" + integrity sha512-pLIhhU9z/G+kjOXmJ2bPFm3nejfbH+f1fjYRSOteEXDBrv1EoJE/e+kuHixSXfCYfTkxjYsvRaDX+1QykLCnpQ== + dependencies: + chalk "^2.4.1" + debug "^3.1.0" + diff "^3.5.0" + escape-string-regexp "^1.0.2" + execa "^4.0.0" + globby "^8.0.1" + grouped-queue "^1.1.0" + inquirer "^7.1.0" + is-scoped "^1.0.0" + lodash "^4.17.10" + log-symbols "^2.2.0" + mem-fs "^1.1.0" + mem-fs-editor "^6.0.0" + npm-api "^1.0.0" + semver "^7.1.3" + strip-ansi "^4.0.0" + text-table "^0.2.0" + untildify "^3.0.3" + yeoman-generator "^4.8.2" + +yeoman-generator@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-2.0.5.tgz#57b0b3474701293cc9ec965288f3400b00887c81" + integrity sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg== + dependencies: + async "^2.6.0" + chalk "^2.3.0" + cli-table "^0.3.1" + cross-spawn "^6.0.5" + dargs "^5.1.0" + dateformat "^3.0.3" + debug "^3.1.0" + detect-conflict "^1.0.0" + error "^7.0.2" + find-up "^2.1.0" + github-username "^4.0.0" + istextorbinary "^2.2.1" + lodash "^4.17.10" + make-dir "^1.1.0" + mem-fs-editor "^4.0.0" + minimist "^1.2.0" + pretty-bytes "^4.0.2" + read-chunk "^2.1.0" + read-pkg-up "^3.0.0" + rimraf "^2.6.2" + run-async "^2.0.0" + shelljs "^0.8.0" + text-table "^0.2.0" + through2 "^2.0.0" + yeoman-environment "^2.0.5" + +yeoman-generator@^4.8.2: + version "4.11.0" + resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-4.11.0.tgz#c9e2fab77f17a4d7acff571f31e002bc066ed6a8" + integrity sha512-++t6t2Z6HjL5F1/UM7+uNvGknKmQdF8tstJx8WKzsUSEpB+19kLVtapSfQIh9uWqm0L59fLWDzUui//WXoynPw== + dependencies: + async "^2.6.2" + chalk "^2.4.2" + cli-table "^0.3.1" + cross-spawn "^6.0.5" + dargs "^6.1.0" + dateformat "^3.0.3" + debug "^4.1.1" + diff "^4.0.1" + error "^7.0.2" + find-up "^3.0.0" + github-username "^3.0.0" + istextorbinary "^2.5.1" + lodash "^4.17.11" + make-dir "^3.0.0" + mem-fs-editor "^7.0.1" + minimist "^1.2.5" + pretty-bytes "^5.2.0" + read-chunk "^3.2.0" + read-pkg-up "^5.0.0" + rimraf "^2.6.3" + run-async "^2.0.0" + semver "^7.2.1" + shelljs "^0.8.3" + text-table "^0.2.0" + through2 "^3.0.1" + optionalDependencies: + grouped-queue "^1.1.0" + yeoman-environment "^2.9.5" From a6c85bbc14680a35c17b8855e6e499a975113672 Mon Sep 17 00:00:00 2001 From: Massimo Date: Thu, 13 Aug 2020 11:29:11 +0200 Subject: [PATCH 02/41] introdotto file wwtp-channel-field Inserito file per avviare localmente, file w-c-f copiati dagli analoghi, bottoni e modificato alcuni file --- css/style.css | 14 +- index.html | 20 ++- package.json | 4 +- src/blockMapUtils.js | 2 + src/channelTool.js | 117 ++++++++++++++++ src/commercial.js | 21 +-- src/field.js | 317 +++++++++++++++++++++++++++++++++++++++++++ src/gameTools.js | 4 + src/industrial.js | 22 +-- src/residential.js | 6 +- src/tile.js | 18 ++- src/tileUtils.js | 24 ++++ src/wwtp.js | 162 ++++++++++++++++++++++ src/zoneUtils.js | 4 +- tsconfig.json | 2 +- 15 files changed, 700 insertions(+), 37 deletions(-) create mode 100644 src/channelTool.js create mode 100644 src/field.js create mode 100644 src/wwtp.js diff --git a/css/style.css b/css/style.css index e8d27d5..91e9821 100644 --- a/css/style.css +++ b/css/style.css @@ -327,7 +327,7 @@ nav li { position: absolute; top: 40px; width: 305px; - height: 220px; + height: 250px; /*220px;*/ } #debug { @@ -566,6 +566,10 @@ nav li { background-color: yellow; } +#wwtpButton { + background-color: darkseagreen; +} + #nuclearButton { background-color: mistyrose; } @@ -598,6 +602,10 @@ nav li { background-color: lime; } +#FieldButton { + background-color: darkgoldenrod; +} + #roadButton { background-color: black; color: white; @@ -612,6 +620,10 @@ nav li { background-color: khaki; } +#channelButton { + background-color: lightseagreen; +} + @media (max-height: 742px) { footer { height: 15px; diff --git a/index.html b/index.html index f33dd5e..2865591 100644 --- a/index.html +++ b/index.html @@ -115,16 +115,19 @@

New Game

Tools
+ + + @@ -132,9 +135,6 @@

New Game

-
- -
Crop: - + + + +
-
diff --git a/src/buildingTool.js b/src/buildingTool.js index c016975..f26f0fa 100644 --- a/src/buildingTool.js +++ b/src/buildingTool.js @@ -24,11 +24,11 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { // var baseTile = this.centreTile - this.size - 1; var baseTile; - if(this.centreTile == Tile.FREEF || this.centreTile == Tile.FREEINDF){ + /* if(this.centreTile == Tile.FREEF || this.centreTile == Tile.FREEINDF){ if(!confirm("Building a WWTP field?")){ this.centreTile = Tile.FREEINDF; }else this.centreTile = Tile.FREEF; - } + }*/ baseTile = this.centreTile - this.size - 1; for (var dy = 0; dy < this.size; dy++) { diff --git a/src/fieldWindow.js b/src/fieldWindow.js index 5df897d..73c1eba 100644 --- a/src/fieldWindow.js +++ b/src/fieldWindow.js @@ -11,21 +11,21 @@ import { Messages } from './messages'; import { ModalWindow } from './modalWindow'; import { MiscUtils } from './miscUtils'; import { Simulation } from './simulation'; +import { Game } from './game'; var FieldWindow = ModalWindow(function() { - $(fieldCancelID).on('click', cancel.bind(this)); $(fieldFormID).on('submit', submit.bind(this)); -}, fieldSelectID); +},); -var fieldCancelID = '#fieldCancel'; +var cropCornID = '#cropCorn'; +var cropPotatoID = '#cropPotato'; +var cropWheatID = '#cropWheat'; +var cropOrchardID = '#cropOrchard'; var fieldFormID = '#fieldForm'; var fieldOKID = '#fieldOK'; var WWTPYesID = '#WWTPYes'; var WWTPNoID = '#WWTPNo'; -var fieldSelectID = '#fieldSelect'; -var indFieldSelectID = '#indFieldSelect'; -var cropSelectID = '#cropSelect' @@ -35,13 +35,6 @@ FieldWindow.prototype.close = function(actions) { this._toggleDisplay(); }; - -var cancel = function(e) { - e.preventDefault(); - this.close({cancelled: true}); -}; - - var submit = function(e) { e.preventDefault(); @@ -54,14 +47,8 @@ var submit = function(e) { shouldWWTP = false; actions.push({action: FieldWindow.WWTP, data: shouldWWTP}); - var requestedField = $(fieldSelectID)[0].value; - //this.close(requestedField); - actions.push(requestedField); - - var requestedCrop = $(cropSelectID)[0].value; - //this.close(requestedCrop); - actions.push(requestedCrop); - + var cropSelect = $('.cropSetting:checked').val() - 0; + actions.push({action: FieldWindow.CROP, data: cropSelect}); this.close(actions); }; @@ -72,15 +59,14 @@ FieldWindow.prototype.open = function(fieldData) { else $(WWTPNoID).prop('checked', true); - var i; - - // Ensure options have right values - $('#fieldPotato').attr('value', FieldWindow.FIELD_POTATO); - $('#fieldCorn').attr('value', FieldWindow.FIELD_CORN); - $('#fieldWheat').attr('value', FieldWindow.FIELD_WHEAT); - $('#fieldOrchard').attr('value', FieldWindow.FIELD_ORCHARD); - - + if (fieldData.CROP === Simulation.CROP_CORN) + $(cropCornID).prop('checked', true); + else if (fieldData.CROP === Simulation.CROP_WHEAT) + $(cropWheatID).prop('checked', true); + else if (fieldData.CROP === Simulation.CROP_POTATO) + $(cropPotatoID).prop('checked', true); + else + $(cropOrchardID).prop('checked', true); this._toggleDisplay(); }; @@ -97,12 +83,6 @@ var defineAction = (function() { defineAction('WWTP'); - - -Object.defineProperties(FieldWindow, - {FIELD_POTATO: MiscUtils.makeConstantDescriptor('Potato'), - FIELD_CORN: MiscUtils.makeConstantDescriptor('Corn'), - FIELD_WHEAT: MiscUtils.makeConstantDescriptor('Wheat'), - FIELD_ORCHARD: MiscUtils.makeConstantDescriptor('Orchard')}); +defineAction('CROP'); export { FieldWindow }; diff --git a/src/game.js b/src/game.js index 39cf226..d6e1a86 100644 --- a/src/game.js +++ b/src/game.js @@ -33,6 +33,7 @@ import { SettingsWindow } from './settingsWindow'; import { Simulation } from './simulation'; import { Storage } from './storage'; import { Text } from './text'; +import { Tile } from './tile'; import { TouchWarnWindow } from './touchWarnWindow'; var disasterTimeout = 20 * 1000; @@ -49,7 +50,10 @@ function Game(gameMap, tileSet, snowTileSet, spriteSheet, difficulty, name) { this.gameMap = new GameMap(120, 100); savedGame = gameMap; } - + var defaultwwtp = true; + var wwtpcost = 0; + var fieldtile = Tile.FREEF; + var croptype = Simulation.CROP_CORN; this.tileSet = tileSet; this.snowTileSet = snowTileSet; this.defaultSpeed = Simulation.SPEED_MED; @@ -66,7 +70,7 @@ function Game(gameMap, tileSet, snowTileSet, spriteSheet, difficulty, name) { // Note: must init canvas before inputStatus this.gameCanvas = new GameCanvas('canvasContainer'); this.gameCanvas.init(this.gameMap, this.tileSet, spriteSheet); - this.inputStatus = new InputStatus(this.gameMap, tileSet.tileWidth); + this.inputStatus = new InputStatus(this.gameMap, tileSet.tileWidth, wwtpcost, fieldtile); this.dialogOpen = false; this._openWindow = null; @@ -175,14 +179,13 @@ function Game(gameMap, tileSet, snowTileSet, spriteSheet, difficulty, name) { this.touchWindow = new TouchWarnWindow(opacityLayerID, 'touchWarnWindow'); this.touchWindow.addEventListener(Messages.TOUCH_WINDOW_CLOSED, this.genericDialogClosure); - // ... the field crops choise window + // ... the field crops window this.handleFieldRequest = makeWindowOpenHandler('field', function() { - return [{autoBudget: this.simulation.budget.autoBudget, autoBulldoze: BaseTool.getAutoBulldoze(), - speed: this.defaultSpeed, disasters: this.simulation.disasterManager.disastersEnabled}]; + return [{cropselect: this.croptype, shouldWWTP: this.defaultwwtp }]; }.bind(this)); - this.fieldWindow = new FieldWindow(opacityLayerID, 'field'); - this.fieldWindow.addEventListener(Messages.FIELD_WINDOW_CLOSED, this.handleSettingsWindowClosure.bind(this)); - this.inputStatus.addEventListener(Messages.FIELD_REQUESTED, this.handleFieldRequest.bind(this)); + this.fieldWindow = new fieldWindow(opacityLayerID, 'fieldWindow'); + this.fieldWindow.addEventListener(Messages.FIELD_WINDOW_CLOSED, this.handleFieldWindowClosure.bind(this)); + this.inputStatus.addEventListener(Messages.FIELD_WINDOW_REQUESTED, this.handleFieldRequest.bind(this)); // ... and finally the query window this.queryWindow = new QueryWindow(opacityLayerID, 'queryWindow'); @@ -363,6 +366,63 @@ Game.prototype.handleSettingsWindowClosure = function(actions) { }; +Game.prototype.handleFieldWindowClosure = function(actions) { + this.dialogOpen = false; + + for (var i = 0, l = actions.length; i < l; i++) { + var a = actions[i]; + + switch (a.action) { + case FieldWindow.WWTP: + this.setWWTP(a.data); + break; + + case FieldWindow.CROP: + this.croptype = a.data; + this.setCrop(a.data); + break; + + default: + console.warn('Unexpected action', a); + } + } +}; + +Game.prototype.setWWTP = function(s){ + if(s) this.fieldtile = Tile.FREEF; + else this.fieldtile = Tile.FREEINDF; +} + +Game.prototype.setCrop = function(c){ + if (c !== Simulation.CROP_CORN && + c !== Simulation.CROP_WHEAT && + c !== Simulation.CROP_ORCHARD && + c !== Simulation.CROP_POTATO) + throw new Error('Invalid speed!'); + + switch (c) { + case Simulation.CROP_CORN: + this.wwtpcost = 10; + break; + + case Simulation.CROP_WHEAT: + this.wwtpcost = 100; + break; + + case Simulation.CROP_ORCHARD: + this.wwtpcost = 1000; + break; + + case Simulation.CROP_POTATO: + this.wwtpcost = 5000; + break; + + default: + console.warn('Unexpected action', a); + } +}; + + Game.prototype.handleDebugWindowClosure = function(actions) { this.dialogOpen = false; @@ -443,6 +503,7 @@ Game.prototype.handleDebugRequest = makeWindowOpenHandler('debug'); Game.prototype.handleDisasterRequest = makeWindowOpenHandler('disaster'); Game.prototype.handleQueryRequest = makeWindowOpenHandler('query'); Game.prototype.handleScreenshotRequest = makeWindowOpenHandler('screenshot'); +Game.prototype.handleFieldRequest = makeWindowOpenHandler('field'); Game.prototype.handleMandatoryBudget = function() { diff --git a/src/gameTools.js b/src/gameTools.js index fdffd71..32f757e 100644 --- a/src/gameTools.js +++ b/src/gameTools.js @@ -20,7 +20,7 @@ import { Tile } from './tile'; import { WireTool } from './wireTool'; import { ChannelTool } from './channelTool'; -function GameTools(map) { +function GameTools(map, wwtpcost, fieldtile) { var tools = EventEmitter({ airport: new BuildingTool(10000, Tile.AIRPORT, map, 6, false), bulldozer: new BulldozerTool(map), @@ -35,7 +35,7 @@ function GameTools(map) { port: new BuildingTool(3000, Tile.PORT, map, 4, false), rail: new RailTool(map), residential: new BuildingTool(100, Tile.FREEZ, map, 3, false), - field: new BuildingTool(100, Tile.FREEF, map, 3, false), + field: new BuildingTool(wwtpcost, fieldtile, map, 3, false), road: new RoadTool(map), query: new QueryTool(map), stadium: new BuildingTool(5000, Tile.STADIUM, map, 4, false), diff --git a/src/inputStatus.js b/src/inputStatus.js index 61e06b6..40ca7b6 100644 --- a/src/inputStatus.js +++ b/src/inputStatus.js @@ -13,8 +13,8 @@ import { GameTools } from './gameTools'; import { Messages } from './messages'; import { MiscUtils } from './miscUtils'; -var InputStatus = EventEmitter(function(map, tileWidth) { - this.gameTools = new GameTools(map); +var InputStatus = EventEmitter(function(map, tileWidth,wwtpcost, fieldtile) { + this.gameTools = new GameTools(map,wwtpcost, fieldtile); this.gameTools.addEventListener(Messages.QUERY_WINDOW_NEEDED, MiscUtils.reflectEvent.bind(this, Messages.QUERY_WINDOW_NEEDED)); diff --git a/src/simulation.js b/src/simulation.js index 6dd19c1..8635102 100644 --- a/src/simulation.js +++ b/src/simulation.js @@ -53,6 +53,7 @@ var Simulation = EventEmitter(function (gameMap, gameLevel, speed, savedGame) { this._lastPowerMessage = null; // And now, the main cast of characters + this.wwtpcost = 0; this.evaluation = new Evaluation(this._gameLevel); this._valves = new Valves(); this.budget = new Budget(); @@ -129,7 +130,6 @@ Simulation.prototype.setLevel = function(l) { this._gameLevel = l; }; - Simulation.prototype.setSpeed = function(s) { if (s !== Simulation.SPEED_PAUSED && s !== Simulation.SPEED_SLOW && @@ -238,7 +238,8 @@ Simulation.prototype._constructSimData = function() { simulator: this, spriteManager: this.spriteManager, trafficManager: this._traffic, - valves: this._valves + valves: this._valves, + wwtpcost: this._wwtpcost }; }; @@ -659,6 +660,10 @@ Object.defineProperties(Simulation, SPEED_SLOW: MiscUtils.makeConstantDescriptor(1), SPEED_MED: MiscUtils.makeConstantDescriptor(2), SPEED_FAST: MiscUtils.makeConstantDescriptor(3), + CROP_CORN: MiscUtils.makeConstantDescriptor(0), + CROP_WHEAT: MiscUtils.makeConstantDescriptor(1), + CROP_POTATO: MiscUtils.makeConstantDescriptor(2), + CROP_ORCHARD: MiscUtils.makeConstantDescriptor(3), }); From 917cf33a06fb74d42c61597391e5c898d55c3a67 Mon Sep 17 00:00:00 2001 From: capatommy Date: Fri, 9 Oct 2020 10:07:17 +0200 Subject: [PATCH 17/41] little fixes --- index.html | 1 - src/game.js | 4 ++-- src/simulation.js | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 1ea5cd9..2937d7c 100644 --- a/index.html +++ b/index.html @@ -177,7 +177,6 @@

micropolisJS

WWTP: -
diff --git a/src/game.js b/src/game.js index d6e1a86..a0ed519 100644 --- a/src/game.js +++ b/src/game.js @@ -51,7 +51,7 @@ function Game(gameMap, tileSet, snowTileSet, spriteSheet, difficulty, name) { savedGame = gameMap; } var defaultwwtp = true; - var wwtpcost = 0; + var wwtpcost = 10; var fieldtile = Tile.FREEF; var croptype = Simulation.CROP_CORN; this.tileSet = tileSet; @@ -183,7 +183,7 @@ function Game(gameMap, tileSet, snowTileSet, spriteSheet, difficulty, name) { this.handleFieldRequest = makeWindowOpenHandler('field', function() { return [{cropselect: this.croptype, shouldWWTP: this.defaultwwtp }]; }.bind(this)); - this.fieldWindow = new fieldWindow(opacityLayerID, 'fieldWindow'); + this.fieldWindow = new FieldWindow(opacityLayerID, 'fieldWindow'); this.fieldWindow.addEventListener(Messages.FIELD_WINDOW_CLOSED, this.handleFieldWindowClosure.bind(this)); this.inputStatus.addEventListener(Messages.FIELD_WINDOW_REQUESTED, this.handleFieldRequest.bind(this)); diff --git a/src/simulation.js b/src/simulation.js index 8635102..3d2c577 100644 --- a/src/simulation.js +++ b/src/simulation.js @@ -53,7 +53,6 @@ var Simulation = EventEmitter(function (gameMap, gameLevel, speed, savedGame) { this._lastPowerMessage = null; // And now, the main cast of characters - this.wwtpcost = 0; this.evaluation = new Evaluation(this._gameLevel); this._valves = new Valves(); this.budget = new Budget(); From 6060e41d7c5557624dc8ee728b0d5e08e40c9a67 Mon Sep 17 00:00:00 2001 From: capatommy Date: Fri, 9 Oct 2020 14:48:03 +0200 Subject: [PATCH 18/41] another step to field logic --- index.html | 16 ++++++++-------- src/buildingTool.js | 14 +++++++++----- src/fieldWindow.js | 8 ++++---- src/game.js | 35 +++++++++++++++++++++-------------- src/gameTools.js | 2 +- src/inputStatus.js | 2 +- 6 files changed, 44 insertions(+), 33 deletions(-) diff --git a/index.html b/index.html index 2937d7c..e10fff8 100644 --- a/index.html +++ b/index.html @@ -115,7 +115,7 @@

New Game

Tools
- + @@ -166,7 +166,7 @@

micropolisJS

Build: <%= htmlWebpackPlugin.options.gitHash %>
-
diff --git a/src/buildingTool.js b/src/buildingTool.js index e4373a1..6900f22 100644 --- a/src/buildingTool.js +++ b/src/buildingTool.js @@ -31,8 +31,9 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { if(this.centreTile == Tile.FREEF || this.centreTile == Tile.FREEINDF) { if(b) {this.centreTile = Tile.FREEF;} else this.centreTile = Tile.FREEINDF; + this.addCost(c); } - this.addCost(c); + baseTile = this.centreTile - this.size - 1; diff --git a/src/simulation.js b/src/simulation.js index 3d2c577..44eb459 100644 --- a/src/simulation.js +++ b/src/simulation.js @@ -661,8 +661,8 @@ Object.defineProperties(Simulation, SPEED_FAST: MiscUtils.makeConstantDescriptor(3), CROP_CORN: MiscUtils.makeConstantDescriptor(0), CROP_WHEAT: MiscUtils.makeConstantDescriptor(1), - CROP_POTATO: MiscUtils.makeConstantDescriptor(2), - CROP_ORCHARD: MiscUtils.makeConstantDescriptor(3), + CROP_ORCHARD: MiscUtils.makeConstantDescriptor(2), + CROP_POTATO: MiscUtils.makeConstantDescriptor(3), }); From ba8f5976f0c66f9fbcb565890111b0309fae7784 Mon Sep 17 00:00:00 2001 From: Massimo Date: Fri, 9 Oct 2020 23:56:54 +0200 Subject: [PATCH 23/41] Not growing fields 1step --- images/tiles.png | Bin 114114 -> 115428 bytes index.html | 6 +++--- src/baseTool.js | 23 +++++++++++++++++++++-- src/buildingTool.js | 30 +++++++++++++++++++----------- src/field.js | 8 +++++--- src/game.js | 8 ++++---- src/mapScanner.js | 2 +- src/tile.js | 43 +++++++++++++++++++++---------------------- src/tileUtils.js | 6 ++++-- 9 files changed, 78 insertions(+), 48 deletions(-) diff --git a/images/tiles.png b/images/tiles.png index fd3770fb6623d3d08271e7c45b3b3105e152a92b..19820bd8062bc82a64b15801c02c3223143f5bb0 100644 GIT binary patch delta 52903 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 DlyqWy delta 51579 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
Crop: - + - - + +
diff --git a/src/baseTool.js b/src/baseTool.js index 05290b2..8489d4f 100644 --- a/src/baseTool.js +++ b/src/baseTool.js @@ -48,6 +48,17 @@ var doAutoBulldoze = function(x, y) { } }; +var cropcost = function(x, y) { + var tile = this._worldEffects.getTile(x, y); + tile = TileUtils.normalizeRoad(tile); + switch (tile) { + case Tile.CORN: setCropCost(CORN_COST); break; + case Tile.WHEAT: setCropCost(WHEAT_COST); break; + case Tile.ORCHARD: setCropCost(ORCHARD_COST); break; + case Tile.POTATO: setCropCost(POTATO_COST); break; + } +}; + var apply = function(budget) { this._worldEffects.apply(); @@ -73,6 +84,10 @@ var modifyIfEnoughFunding = function(budget) { return true; }; +var CORN_COST = 50; +var WHEAT_COST = 100; +var ORCHARD_COST = 150; +var POTATO_COST = 200; var TOOLRESULT_OK = 0; var TOOLRESULT_FAILED = 1; @@ -83,7 +98,7 @@ var BaseToolConstructor = { addCost: addCost, autoBulldoze: true, wwtp: true, - cropcost: 10, + cropcost: cropcost, bulldozerCost: 1, clear: clear, doAutoBulldoze: doAutoBulldoze, @@ -133,7 +148,11 @@ var BaseTool = { return BaseToolConstructor.autoBulldoze; }, save: save, - load: load + load: load, + CORN_COST : CORN_COST, + WHEAT_COST : WHEAT_COST, + ORCHARD_COST : ORCHARD_COST, + POTATO_COST : POTATO_COST }; export { BaseTool }; diff --git a/src/buildingTool.js b/src/buildingTool.js index 6900f22..2261b80 100644 --- a/src/buildingTool.js +++ b/src/buildingTool.js @@ -29,11 +29,10 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { var c = BaseTool.getCropCost(); if(this.centreTile == Tile.FREEF || this.centreTile == Tile.FREEINDF) { - if(b) {this.centreTile = Tile.FREEF;} + if(b) {this.centreTile = Tile.FREEF;} //secondo me non serve else this.centreTile = Tile.FREEINDF; this.addCost(c); } - baseTile = this.centreTile - this.size - 1; @@ -44,21 +43,30 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { posX = leftX + dx; tileValue = baseTile; - if(TileUtils.isIndField(tileValue)){ - tileFlags = Tile.BNHYBIT; - }else{ - if (TileUtils.isField(tileValue) || (tileValue>=Tile.WWTPBASE && tileValue<=Tile.LASTWWTP)) - tileFlags = Tile.BNHYBIT; + if (TileUtils.isIndField(tileValue) || TileUtils.isField(tileValue) || + (tileValue>=Tile.WWTPBASE && tileValue<=Tile.LASTWWTP)){ + if (dx === 1 && dy === 1 && !(tileValue>=Tile.WWTPBASE && tileValue<=Tile.LASTWWTP)) + { + switch (c){ + case BaseTool.CORN_COST : tileValue = Tile.CORN; break; + case BaseTool.WHEAT_COST : tileValue = Tile.WHEAT; break; + case BaseTool.ORCHARD_COST : tileValue = Tile.ORCHARD; break; + case BaseTool.POTATO_COST : tileValue = Tile.POTATO; break; + default: break; + } + } + tileFlags = Tile.BNHYBIT; + } else tileFlags = Tile.BNCNBIT; - } - + if (dx === 1) { - if (dy === 1) + if (dy === 1){ tileFlags |= Tile.ZONEBIT; + } else if (dy === 2 && this.animated) tileFlags |= Tile.ANIMBIT; - } + } this._worldEffects.setTile(posX, posY, tileValue, tileFlags); diff --git a/src/field.js b/src/field.js index 8b44340..82b2f73 100644 --- a/src/field.js +++ b/src/field.js @@ -219,7 +219,8 @@ var fieldFound = function(map, x, y, simData) { var trafficOK = Traffic.ROUTE_FOUND; - // Occasionally check to see if the zone is connected to the road network. The chance of this happening increases + +/* // Occasionally check to see if the zone is connected to the road network. The chance of this happening increases // as the zone's population increases. Note: we will never execute this conditional if the zone is empty, as zero // will never be be bigger than any of the values Random will generate if (population > Random.getRandom(35)) { @@ -256,13 +257,13 @@ var fieldFound = function(map, x, y, simData) { // 81.8% of them are above -20880, so nearly 82% of the time, we will never take this branch. // Thus, there's approximately a 9% chance that the value will be in the range, and we *might* grow. if (zoneScore > -350 && (zoneScore - 26380) > Random.getRandom16Signed()) { -/* + // If this zone is empty, and field demand is strong, we might make a hospital if (population === 0 && Random.getChance(3)) { makeHospital(map, x, y, simData, zonePower); return; } -*/ + // Get an index in the range 0-3 scoring the land desirability and pollution, and grow the zone to the next // population rank lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); @@ -281,6 +282,7 @@ var fieldFound = function(map, x, y, simData) { degradeZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); } } + */ }; diff --git a/src/game.js b/src/game.js index 0e4e4c0..10dc042 100644 --- a/src/game.js +++ b/src/game.js @@ -395,22 +395,22 @@ Game.prototype.setCrop = function(c){ switch (c) { case Simulation.CROP_CORN: - BaseTool.setCropCost(10); + BaseTool.setCropCost(BaseTool.CORN_COST); break; case Simulation.CROP_WHEAT: - BaseTool.setCropCost(100); + BaseTool.setCropCost(BaseTool.WHEAT_COST); break; case Simulation.CROP_ORCHARD: - BaseTool.setCropCost(1000); + BaseTool.setCropCost(BaseTool.ORCHARD_COST); break; case Simulation.CROP_POTATO: - BaseTool.setCropCost(10000); + BaseTool.setCropCost(BaseTool.POTATO_COST); break; default: diff --git a/src/mapScanner.js b/src/mapScanner.js index b15d66d..a84d375 100644 --- a/src/mapScanner.js +++ b/src/mapScanner.js @@ -46,7 +46,7 @@ MapScanner.prototype.mapScan = function(startX, maxX, simData) { if (tile.isZone()) { simData.repairManager.checkTile(x, y, simData.cityTime); - var powered = tile.isPowered(); // field is zone but it doesnt need power..? + var powered = tile.isPowered(); if (powered) simData.census.poweredZoneCount += 1; else diff --git a/src/tile.js b/src/tile.js index 137d743..0b41b9b 100644 --- a/src/tile.js +++ b/src/tile.js @@ -358,28 +358,6 @@ Tile.CHURCH0BASE = 414; // numbered alias Tile.CHURCH = 418; // Center of church (tiles 414--422) Tile.CHURCH0 = 418; // numbered alias -//field zone tiles - -Tile.FIELDBASE = 956;//Tile.RESBASE; // Empty field, tiles -Tile.FREEF = 960; //Tile.FREEZ; // center-tile of 3x3 empty field - -Tile.FARM = 971; // Single tile farms ----- start tile of crops -Tile.FFARM = Tile.FARM; // first farm -Tile.LFARM = 982; // last farm - -Tile.FZB = 975; //Tile.RZB; // center tile first 3x3 tile field - -//INDIE field zone tiles - -Tile.INDFIELDBASE = 983;//Tile.RESBASE; // Empty field, tiles -Tile.FREEINDF = 987; //Tile.FREEZ; // center-tile of 3x3 empty field - -Tile.INDFARM = 992; //Tile.HOUSE; // Single tile farms -Tile.FINDFARM = Tile.INDFARM; // first farm = first house -Tile.LINDFARM = 1003; // Tile.HHTHR; // last farm = last house - -Tile.INDFZB = 975; //Tile.RZB; // center tile first 3x3 tile field - // Commercial zone tiles Tile.COMBASE = 423; // Empty commercial, tiles 423--431 @@ -527,6 +505,27 @@ Tile.NUKESWIRL4 = 955; // Tiles 956-959 unused (originally) // TILE_COUNT = 960; +//field zone tiles + +Tile.FIELDBASE = 956;//Tile.RESBASE; // Empty field, tiles +Tile.FREEF = 960; //Tile.FREEZ; // center-tile of 3x3 empty field + +Tile.FZB = 975; // center tile first 3x3 tile field + +//INDIE field zone tiles + +Tile.INDFIELDBASE = 965; // Empty field, tiles +Tile.FREEINDF = 969; //Tile.FREEZ; // center-tile of 3x3 empty field + +Tile.INDFZB = 975; // center tile first 3x3 tile field + +// crops tiles + +Tile.CORN = 974; +Tile.WHEAT = 975; +Tile.ORCHARD = 976; +Tile.POTATO = 977; + // Extended zones: 956-1019 Tile.CHURCH1BASE = 956; diff --git a/src/tileUtils.js b/src/tileUtils.js index 4fecd48..79c5933 100644 --- a/src/tileUtils.js +++ b/src/tileUtils.js @@ -84,7 +84,8 @@ var isResidentialZone = function(tile) { var isField = unwrapTile(function(tile) { - return tile >= Tile.FIELDBASE && tile <= Tile.LFARM; + return (tile >= Tile.FIELDBASE && tile <= Tile.FIELDBASE+8) || + (tile >= Tile.CORN && tile <= Tile.POTATO); }); @@ -93,7 +94,8 @@ var isFieldZone = function(tile) { }; var isIndField = unwrapTile(function(tile) { - return tile >= Tile.INDFIELDBASE && tile <= Tile.LINDFARM; + return (tile >= Tile.INDFIELDBASE && tile <= Tile.INDFIELDBASE+8) || + (tile >= Tile.CORN && tile <= Tile.POTATO); }); From fdba75c92ca238ca68fd6218217b09c0d184cdd9 Mon Sep 17 00:00:00 2001 From: Massimo Date: Sat, 10 Oct 2020 20:08:31 +0200 Subject: [PATCH 24/41] grow/degrade field 1step --- images/tiles.png | Bin 115428 -> 114883 bytes index.html | 2 -- src/baseTool.js | 19 ++++++++++--- src/buildingTool.js | 60 ++++++++++++++++++++++++++++++++-------- src/field.js | 53 +++++++++++++++++++++++++++++++++-- src/tile.js | 10 +++++-- src/tileUtils.js | 5 ++-- thirdparty/myscripts.js | 19 ------------- 8 files changed, 123 insertions(+), 45 deletions(-) delete mode 100644 thirdparty/myscripts.js diff --git a/images/tiles.png b/images/tiles.png index 19820bd8062bc82a64b15801c02c3223143f5bb0..9432faedbed5bb7f9b542b1826ab8a220e515c9c 100644 GIT binary patch delta 52229 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 delta 52790 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%0D+uYiVa0=!(Ah{e}C=5vN;wIsCa(Y5Un)F2R42 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 %66L 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 diff --git a/index.html b/index.html index be66829..bf4f59d 100644 --- a/index.html +++ b/index.html @@ -507,8 +507,6 @@

Hi!

}); - - diff --git a/src/baseTool.js b/src/baseTool.js index 8489d4f..3decc6a 100644 --- a/src/baseTool.js +++ b/src/baseTool.js @@ -52,10 +52,21 @@ var cropcost = function(x, y) { var tile = this._worldEffects.getTile(x, y); tile = TileUtils.normalizeRoad(tile); switch (tile) { - case Tile.CORN: setCropCost(CORN_COST); break; - case Tile.WHEAT: setCropCost(WHEAT_COST); break; - case Tile.ORCHARD: setCropCost(ORCHARD_COST); break; - case Tile.POTATO: setCropCost(POTATO_COST); break; + case Tile.CORN: + case Tile.FCORN: + setCropCost(CORN_COST); break; + + case Tile.WHEAT: + case Tile.FWHEAT: + setCropCost(WHEAT_COST); break; + + case Tile.ORCHARD: + case Tile.FORCHARD: + setCropCost(ORCHARD_COST); break; + + case Tile.POTATO: + case Tile.FPOTATO: + setCropCost(POTATO_COST); break; } }; diff --git a/src/buildingTool.js b/src/buildingTool.js index 2261b80..07b36ad 100644 --- a/src/buildingTool.js +++ b/src/buildingTool.js @@ -29,7 +29,7 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { var c = BaseTool.getCropCost(); if(this.centreTile == Tile.FREEF || this.centreTile == Tile.FREEINDF) { - if(b) {this.centreTile = Tile.FREEF;} //secondo me non serve + if(b) {this.centreTile = Tile.FREEF;} else this.centreTile = Tile.FREEINDF; this.addCost(c); } @@ -44,18 +44,54 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { tileValue = baseTile; if (TileUtils.isIndField(tileValue) || TileUtils.isField(tileValue) || - (tileValue>=Tile.WWTPBASE && tileValue<=Tile.LASTWWTP)){ - if (dx === 1 && dy === 1 && !(tileValue>=Tile.WWTPBASE && tileValue<=Tile.LASTWWTP)) + (tileValue>=Tile.WWTPBASE && tileValue<=Tile.LASTWWTP)) + { + if (dx === 1 && dy === 1 && (tileValue === Tile.FREEINDF)) { - switch (c){ - case BaseTool.CORN_COST : tileValue = Tile.CORN; break; - case BaseTool.WHEAT_COST : tileValue = Tile.WHEAT; break; - case BaseTool.ORCHARD_COST : tileValue = Tile.ORCHARD; break; - case BaseTool.POTATO_COST : tileValue = Tile.POTATO; break; - default: break; - } - } - tileFlags = Tile.BNHYBIT; + switch (c){ + case BaseTool.CORN_COST: + tileValue = Tile.CORN; + break; + + case BaseTool.WHEAT_COST: + tileValue = Tile.WHEAT; + break; + + case BaseTool.ORCHARD_COST: + tileValue = Tile.ORCHARD; + break; + + case BaseTool.POTATO_COST: + tileValue = Tile.POTATO; + break; + + default: break; + } + } + + if (dx === 1 && dy === 1 && (tileValue === Tile.FREEF)) + { + switch (c){ + case BaseTool.CORN_COST: + tileValue = Tile.FCORN; + break; + + case BaseTool.WHEAT_COST: + tileValue = Tile.FWHEAT; + break; + + case BaseTool.ORCHARD_COST: + tileValue = Tile.FORCHARD; + break; + + case BaseTool.POTATO_COST: + tileValue = Tile.FPOTATO; + break; + + default: break; + } + } + tileFlags = Tile.BNHYBIT; } else tileFlags = Tile.BNCNBIT; diff --git a/src/field.js b/src/field.js index 82b2f73..f406ce4 100644 --- a/src/field.js +++ b/src/field.js @@ -209,15 +209,62 @@ var fieldFound = function(map, x, y, simData) { // Notify the census simData.census.fieldZonePop += 1; + + var tile = map.getTileValue(x, y); + var zoneIrrigate = map.getTile(x, y).isIrrigated(); + if(zoneIrrigate){ + switch(tile){ + case Tile.FCORN: + tile = Tile.CORN; + break; + + case Tile.FWHEAT: + tile = Tile.WHEAT; + break; + + case Tile.FORCHARD: + centreTile = Tile.ORCHARD; + break; + + case Tile.FPOTATO: + tile = Tile.POTATO; + break; + + default: break; + } + } + else{ + switch(tile){ + case Tile.CORN: + tile = Tile.FCORN; + break; + + case Tile.WHEAT: + tile = Tile.FWHEAT; + break; + + case Tile.ORCHARD: + centreTile = Tile.FORCHARD; + break; + + case Tile.POTATO: + tile = Tile.FPOTATO; + break; + + default: break; + } + } + map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); + // Also, notify the census of our population - var tileValue = map.getTileValue(x, y); + /*var tileValue = map.getTileValue(x, y); var population = getZonePopulation(map, x, y, tileValue); simData.census.fieldPop += population; - var zoneIrrigate = map.getTile(x, y).isIrrigated(); + - var trafficOK = Traffic.ROUTE_FOUND; + var trafficOK = Traffic.ROUTE_FOUND;*/ /* // Occasionally check to see if the zone is connected to the road network. The chance of this happening increases diff --git a/src/tile.js b/src/tile.js index 0b41b9b..02efe48 100644 --- a/src/tile.js +++ b/src/tile.js @@ -522,9 +522,13 @@ Tile.INDFZB = 975; // center tile first 3x3 tile field // crops tiles Tile.CORN = 974; -Tile.WHEAT = 975; -Tile.ORCHARD = 976; -Tile.POTATO = 977; +Tile.FCORN = 975; +Tile.WHEAT = 976; +Tile.FWHEAT = 977; +Tile.ORCHARD = 978; +Tile.FORCHARD = 979; +Tile.POTATO = 980; +Tile.FPOTATO = 981; // Extended zones: 956-1019 diff --git a/src/tileUtils.js b/src/tileUtils.js index 79c5933..548b925 100644 --- a/src/tileUtils.js +++ b/src/tileUtils.js @@ -85,7 +85,7 @@ var isResidentialZone = function(tile) { var isField = unwrapTile(function(tile) { return (tile >= Tile.FIELDBASE && tile <= Tile.FIELDBASE+8) || - (tile >= Tile.CORN && tile <= Tile.POTATO); + (tile >= Tile.CORN && tile <= Tile.FPOTATO); }); @@ -95,7 +95,8 @@ var isFieldZone = function(tile) { var isIndField = unwrapTile(function(tile) { return (tile >= Tile.INDFIELDBASE && tile <= Tile.INDFIELDBASE+8) || - (tile >= Tile.CORN && tile <= Tile.POTATO); + (tile == Tile.CORN) || (tile == Tile.WHEAT) + || (tile == Tile.ORCHARD)|| (tile == Tile.POTATO) }); diff --git a/thirdparty/myscripts.js b/thirdparty/myscripts.js deleted file mode 100644 index e659653..0000000 --- a/thirdparty/myscripts.js +++ /dev/null @@ -1,19 +0,0 @@ -$(document).ready(function(){ - $("#fieldFormContainer").on("change", "#WWTPSelect input[name^='WWTP_']", function(event) { - if ($(this).val() == "1") { - $(this).parent().find('.FieldInd').css({ - 'visibility': 'hidden', - 'display': 'none' - }); - $(this).parent().find('.FieldWWTP').css({ - 'visibility': 'visible', - 'display': 'block' - }); - } else { - $(this).parent().find('.FieldInd').css({ - 'visibility': 'visible', - 'display': 'inline-block', - }); - } - }); -}); \ No newline at end of file From ca45fbcfa4257229391556137fc8c6b31e659ccf Mon Sep 17 00:00:00 2001 From: capatommy Date: Sun, 11 Oct 2020 18:54:58 +0200 Subject: [PATCH 25/41] first commit for grow/degrade of field --- css/style.css | 2 +- debug.log | 1 + src/budget.js | 61 +++++++++++++++++++++++++++++++++++++---------- src/field.js | 42 ++++++++++++++++---------------- src/simulation.js | 3 +-- 5 files changed, 72 insertions(+), 37 deletions(-) create mode 100644 debug.log diff --git a/css/style.css b/css/style.css index 1602806..e1e53bc 100644 --- a/css/style.css +++ b/css/style.css @@ -602,7 +602,7 @@ nav li { background-color: lime; } -#fieldButton, #fieldHeader { +#fieldRequest, #fieldHeader { background-color: darkgoldenrod; } diff --git a/debug.log b/debug.log new file mode 100644 index 0000000..9e352ff --- /dev/null +++ b/debug.log @@ -0,0 +1 @@ +[1010/214642.650:ERROR:settings.cc(430)] Settings version is not 5 diff --git a/src/budget.js b/src/budget.js index b0d700e..ffee876 100644 --- a/src/budget.js +++ b/src/budget.js @@ -20,6 +20,9 @@ var fireMaintenanceCost = 100; // Cost of maintaining 1 road tile var roadMaintenanceCost = 1; +// Cost of maintaining 1 field tile +var fieldMaintenanceCost = 100; + // Cost of maintaining 1 rail tile var railMaintenanceCost = 2; @@ -28,8 +31,10 @@ var Budget = EventEmitter(function() { Object.defineProperties(this, {MAX_ROAD_EFFECT: MiscUtils.makeConstantDescriptor(32), MAX_POLICESTATION_EFFECT: MiscUtils.makeConstantDescriptor(1000), - MAX_FIRESTATION_EFFECT: MiscUtils.makeConstantDescriptor(1000)}); + MAX_FIRESTATION_EFFECT: MiscUtils.makeConstantDescriptor(1000), + MAX_FIELD_EFFECT: MiscUtils.makeConstantDescriptor(1000)}); + this.fieldEffect = this.MAX_FIELD_EFFECT; this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; @@ -43,25 +48,28 @@ var Budget = EventEmitter(function() { this.roadMaintenanceBudget = 0; this.fireMaintenanceBudget = 0; this.policeMaintenanceBudget = 0; + this.fieldMaintenanceBudget = 0; // Percentage of budget used this.roadPercent = 1; this.firePercent = 1; this.policePercent = 1; + this.fieldPercent = 1; // Cash value of spending. Should equal Math.round(_MaintenanceBudget * _Percent) this.roadSpend = 0; this.fireSpend = 0; this.policeSpend = 0; + this.fieldSpend this.awaitingValues = false; this.autoBudget = true; }); -var saveProps = ['autoBudget', 'totalFunds', 'policePercent', 'roadPercent', 'firePercent', 'roadSpend', - 'policeSpend', 'fireSpend', 'roadMaintenanceBudget', 'policeMaintenanceBudget', - 'fireMaintenanceBudget', 'cityTax', 'roadEffect', 'policeEffect', 'fireEffect', 'fieldsCost']; +var saveProps = ['autoBudget', 'totalFunds', 'policePercent', 'roadPercent', 'firePercent','fieldPercent', 'roadSpend', + 'policeSpend', 'fireSpend','fieldSpend', 'roadMaintenanceBudget', 'policeMaintenanceBudget', + 'fireMaintenanceBudget','fieldMintenanceBudget', 'cityTax','fieldEffect', 'roadEffect', 'policeEffect', 'fireEffect', 'fieldsCost']; Budget.prototype.save = function(saveData) { for (var i = 0, l = saveProps.length; i < l; i++) @@ -96,27 +104,36 @@ var FLevels = [1.4, 1.2, 0.8]; Budget.prototype._calculateBestPercentages = function() { // How much would we be spending based on current percentages? // Note: the *Budget items are updated every January by collectTax + this.fieldSpend = Math.round(this.fieldMaintenanceBudget * this.fieldPercent) this.roadSpend = Math.round(this.roadMaintenanceBudget * this.roadPercent); this.fireSpend = Math.round(this.fireMaintenanceBudget * this.firePercent); this.policeSpend = Math.round(this.policeMaintenanceBudget * this.policePercent); - var total = this.roadSpend + this.fireSpend + this.policeSpend; + var total = this.roadSpend + this.fireSpend + this.policeSpend + this.fieldSpend; // If we don't have any services on the map, we can bail early if (total === 0) { this.roadPercent = 1; this.firePercent = 1; this.policePercent = 1; - return {road: 1, fire: 1, police: 1}; + this.fieldPercent = 1; + return {road: 1, fire: 1, police: 1, field: 1}; } // How much are we actually going to spend? var roadCost = 0; var fireCost = 0; var policeCost = 0; + var fieldCost = 0; var cashRemaining = this.totalFunds + this.taxFund; // Spending priorities: road, fire, police + if (cashRemaining >= this.fieldSpend) + fieldCost = this.fieldSpend; + else + fieldCost = cashRemaining; + cashRemaining -= fieldCost; + if (cashRemaining >= this.roadSpend) roadCost = this.roadSpend; else @@ -135,6 +152,11 @@ Budget.prototype._calculateBestPercentages = function() { policeCost = cashRemaining; cashRemaining -= policeCost; + if (this.fieldMaintenanceBudget > 0) + this.fieldPercent = (fieldCost / this.fieldMaintenanceBudget).toPrecision(2) - 0; +else + this.fieldPercent = 1; + if (this.roadMaintenanceBudget > 0) this.roadPercent = (roadCost / this.roadMaintenanceBudget).toPrecision(2) - 0; else @@ -150,7 +172,7 @@ Budget.prototype._calculateBestPercentages = function() { else this.policePercent = 1; - return {road: roadCost, police: policeCost, fire: fireCost}; + return {road: roadCost, police: policeCost, fire: fireCost, field: fieldCost}; }; @@ -170,17 +192,18 @@ Budget.prototype.doBudgetNow = function(fromWindow) { return; } + var fieldCost = costs.field; var roadCost = costs.road; var policeCost = costs.police; var fireCost = costs.fire; - var totalCost = roadCost + policeCost + fireCost; - var cashRemaining = this.totalFunds + this.taxFund - this.fieldsCost - totalCost; + var totalCost = roadCost + policeCost + fireCost + fieldCost; + var cashRemaining = this.totalFunds + this.taxFund - totalCost; // Autobudget if ((cashRemaining > 0 && this.autoBudget) || fromWindow) { // Either we were able to fully fund services, or we have just normalised user input. Go ahead and spend. this.awaitingValues = false; - this.doBudgetSpend(roadCost, fireCost, policeCost); + this.doBudgetSpend(roadCost, fireCost, policeCost, fieldCost); return; } @@ -193,11 +216,12 @@ Budget.prototype.doBudgetNow = function(fromWindow) { }; -Budget.prototype.doBudgetSpend = function(roadValue, fireValue, policeValue) { +Budget.prototype.doBudgetSpend = function(roadValue, fireValue, policeValue, fieldValue) { + this.fieldSpend = fieldValue; this.roadSpend = roadValue; this.fireSpend = fireValue; this.policeSpend = policeValue; - var total = this.roadSpend + this.fireSpend + this.policeSpend + this.fieldsCost; + var total = this.roadSpend + this.fireSpend + this.policeSpend + this.fieldSpend; this.spend(-(this.taxFund - total)); this.updateFundEffects(); @@ -209,11 +233,16 @@ Budget.prototype.updateFundEffects = function() { this.roadSpend = Math.round(this.roadMaintenanceBudget * this.roadPercent); this.fireSpend = Math.round(this.fireMaintenanceBudget * this.firePercent); this.policeSpend = Math.round(this.policeMaintenanceBudget * this.policePercent); + this.fieldSpend = Math.round(this.fieldMaintenanceBudget * this.fieldPercent); // Update the effect this level of spending will have on infrastructure deterioration this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; + this.fieldEffect = this.MAX_FIELD_EFFECT; + + if (this.fieldMaintenanceBudget > 0) + this.fieldEffect = Math.floor(this.fieldEffect * this.fieldSpend / this.fieldMaintenanceBudget); if (this.roadMaintenanceBudget > 0) this.roadEffect = Math.floor(this.roadEffect * this.roadSpend / this.roadMaintenanceBudget); @@ -232,6 +261,7 @@ Budget.prototype.collectTax = function(gameLevel, census) { // How much would it cost to fully fund every service? this.policeMaintenanceBudget = census.policeStationPop * policeMaintenanceCost; this.fireMaintenanceBudget = census.fireStationPop * fireMaintenanceCost; + this.fieldMaintenanceBudget = census.fieldZonePop * fieldMaintenanceCost; var roadCost = census.roadTotal * roadMaintenanceCost; var railCost = census.railTotal * railMaintenanceCost; @@ -240,11 +270,12 @@ Budget.prototype.collectTax = function(gameLevel, census) { this.taxFund = Math.floor(Math.floor(census.totalPop * census.landValueAverage / 120) * this.cityTax * FLevels[gameLevel]); if (census.totalPop > 0) { - this.cashFlow = this.taxFund - (this.fieldsCost + this.policeMaintenanceBudget + this.fireMaintenanceBudget + this.roadMaintenanceBudget); + this.cashFlow = this.taxFund - (this.fieldsCost + this.policeMaintenanceBudget + this.fireMaintenanceBudget + this.roadMaintenanceBudget + this.fieldMaintenanceBudget); this.doBudgetNow(false); } else { // We don't want roads etc deteriorating when population hasn't yet been established // (particularly early game) + this.fieldEffect = this.MAX_FIELD_EFFECT; this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; @@ -281,5 +312,9 @@ Budget.prototype.shouldDegradeRoad = function() { return this.roadEffect < Math.floor(15 * this.MAX_ROAD_EFFECT / 16); }; +Budget.prototype.shouldDegradeField = function() { + return this.fieldEffect < Math.floor(15 * this.MAX_FIELD_EFFECT / 16); +}; + export { Budget }; diff --git a/src/field.js b/src/field.js index f406ce4..f540bd4 100644 --- a/src/field.js +++ b/src/field.js @@ -244,7 +244,7 @@ var fieldFound = function(map, x, y, simData) { break; case Tile.ORCHARD: - centreTile = Tile.FORCHARD; + tile = Tile.FORCHARD; break; case Tile.POTATO: @@ -255,6 +255,26 @@ var fieldFound = function(map, x, y, simData) { } } map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); + + var tileValue = map.getTileValue(x, y); + var population = getZonePopulation(map, x, y, tileValue); + simData.census.fieldPop += population; + + if(simData.budget.shouldDegradeField()){ + if (Random.getChance(511)) { + lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); + degradeZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); + return; + } + }else{ + if(Random.getChance(511)){ + lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); + growZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); + return; + } + } + + // Also, notify the census of our population @@ -333,32 +353,12 @@ var fieldFound = function(map, x, y, simData) { }; -var makeHospital = function(map, x, y, simData, zoneIrrigate) { /////////////////analogia? - // We only build a hospital if the population requires it - if (simData.census.needHospital > 0) { - ZoneUtils.putZone(map, x, y, Tile.HOSPITAL, zonePower, zoneIrrigate); - simData.census.needHospital = 0; - return; - } -}; -var hospitalFound = function(map, x, y, simData) { ////////////////////////////// - simData.census.hospitalPop += 1; - - // Degrade to an empty zone if a hospital is no longer sustainable - if (simData.census.needHospital === -1) { - if (Random.getRandom(20) === 0) - ZoneUtils.putZone(map, x, y, Tile.FREE, map.getTile(x, y).isPowered(), map.getTile(x, y).isIrrigated()); - } -}; - var Field = { registerHandlers: function(mapScanner, repairManager) { mapScanner.addAction(TileUtils.isFieldZone, fieldFound); - mapScanner.addAction(TileUtils.HOSPITAL, hospitalFound); /////////////////// - repairManager.addAction(Tile.HOSPITAL, 15, 3); ////////////////// }, getZonePopulation: getZonePopulation }; diff --git a/src/simulation.js b/src/simulation.js index 44eb459..86931c6 100644 --- a/src/simulation.js +++ b/src/simulation.js @@ -237,8 +237,7 @@ Simulation.prototype._constructSimData = function() { simulator: this, spriteManager: this.spriteManager, trafficManager: this._traffic, - valves: this._valves, - wwtpcost: this._wwtpcost + valves: this._valves }; }; From 35537c4b95152496e0ce812902328f7c6f43c11d Mon Sep 17 00:00:00 2001 From: Massimo Date: Sun, 11 Oct 2020 20:46:54 +0200 Subject: [PATCH 26/41] crops scan --- src/buildingTool.js | 69 ++++++++++++++++++++++----------------------- src/field.js | 25 ++++++++++------ src/mapScanner.js | 7 ++++- src/powerManager.js | 29 +++++++++++++++++++ src/simulation.js | 3 +- 5 files changed, 88 insertions(+), 45 deletions(-) diff --git a/src/buildingTool.js b/src/buildingTool.js index 07b36ad..9e9608d 100644 --- a/src/buildingTool.js +++ b/src/buildingTool.js @@ -46,49 +46,48 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { if (TileUtils.isIndField(tileValue) || TileUtils.isField(tileValue) || (tileValue>=Tile.WWTPBASE && tileValue<=Tile.LASTWWTP)) { - if (dx === 1 && dy === 1 && (tileValue === Tile.FREEINDF)) - { - switch (c){ - case BaseTool.CORN_COST: - tileValue = Tile.CORN; - break; + if (dx === 1 && dy === 1 && (tileValue === Tile.FREEINDF)) + { + switch (c){ + case BaseTool.CORN_COST: + tileValue = Tile.CORN; + break; - case BaseTool.WHEAT_COST: - tileValue = Tile.WHEAT; - break; + case BaseTool.WHEAT_COST: + tileValue = Tile.WHEAT; + break; - case BaseTool.ORCHARD_COST: - tileValue = Tile.ORCHARD; - break; + case BaseTool.ORCHARD_COST: + tileValue = Tile.ORCHARD; + break; - case BaseTool.POTATO_COST: - tileValue = Tile.POTATO; - break; + case BaseTool.POTATO_COST: + tileValue = Tile.POTATO; + break; - default: break; - } - } - - if (dx === 1 && dy === 1 && (tileValue === Tile.FREEF)) - { - switch (c){ - case BaseTool.CORN_COST: - tileValue = Tile.FCORN; - break; + default: break; + } + } + if (dx === 1 && dy === 1 && (tileValue === Tile.FREEF)) + { + switch (c){ + case BaseTool.CORN_COST: + tileValue = Tile.FCORN; + break; - case BaseTool.WHEAT_COST: - tileValue = Tile.FWHEAT; - break; + case BaseTool.WHEAT_COST: + tileValue = Tile.FWHEAT; + break; - case BaseTool.ORCHARD_COST: - tileValue = Tile.FORCHARD; - break; + case BaseTool.ORCHARD_COST: + tileValue = Tile.FORCHARD; + break; - case BaseTool.POTATO_COST: - tileValue = Tile.FPOTATO; - break; + case BaseTool.POTATO_COST: + tileValue = Tile.FPOTATO; + break; - default: break; + default: break; } } tileFlags = Tile.BNHYBIT; diff --git a/src/field.js b/src/field.js index f406ce4..ec69a22 100644 --- a/src/field.js +++ b/src/field.js @@ -7,7 +7,9 @@ * */ +import { BaseTool } from './baseTool'; import { Config } from './config'; +import { PowerManager } from './powerManager'; import { Random } from './random'; import { Tile } from './tile'; import { TileUtils } from './tileUtils'; @@ -212,21 +214,26 @@ var fieldFound = function(map, x, y, simData) { var tile = map.getTileValue(x, y); var zoneIrrigate = map.getTile(x, y).isIrrigated(); - if(zoneIrrigate){ - switch(tile){ - case Tile.FCORN: + var prevTile = map.getTileValue(x-1, y); + var cost=0; + if( prevTile !== (Tile.FREEINDF-1)) + { + if(zoneIrrigate) { + cost = simData.powerManager.costFieldMap.get(x, y); + switch(cost){ + case BaseTool.CORN_COST: tile = Tile.CORN; break; - case Tile.FWHEAT: + case BaseTool.WHEAT_COST: tile = Tile.WHEAT; break; - case Tile.FORCHARD: + case BaseTool.ORCHARD_COST: centreTile = Tile.ORCHARD; break; - case Tile.FPOTATO: + case BaseTool.POTATO_COST: tile = Tile.POTATO; break; @@ -234,7 +241,8 @@ var fieldFound = function(map, x, y, simData) { } } else{ - switch(tile){ + tile = Tile.FREEF; + /* switch(tile){ case Tile.CORN: tile = Tile.FCORN; break; @@ -252,8 +260,9 @@ var fieldFound = function(map, x, y, simData) { break; default: break; - } + }*/ } + } map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); diff --git a/src/mapScanner.js b/src/mapScanner.js index a84d375..1e47800 100644 --- a/src/mapScanner.js +++ b/src/mapScanner.js @@ -8,9 +8,11 @@ */ import { Tile } from './tile'; +import { TileUtils } from './tileUtils'; // Tile to be filled to avoid creating lots of GC-able objects var tile = new Tile(); +var tileutils = TileUtils; function MapScanner(map) { @@ -41,9 +43,12 @@ MapScanner.prototype.mapScan = function(startX, maxX, simData) { if (tile.isConductive()) simData.powerManager.setTilePower(x, y); - if (tile.isHydraulic()) + if (tile.isHydraulic() && (tileValue < Tile.INDFIELDBASE || tileValue > Tile.INDFIELDBASE+8)) simData.powerManager.setTileIrrigate(x, y); + if(tileutils.isFieldZone(tile) || tileutils.isIndFieldZone(tile)) + simData.powerManager.setCostCrop(x,y); + if (tile.isZone()) { simData.repairManager.checkTile(x, y, simData.cityTime); var powered = tile.isPowered(); diff --git a/src/powerManager.js b/src/powerManager.js index ec39e56..e579183 100644 --- a/src/powerManager.js +++ b/src/powerManager.js @@ -7,6 +7,7 @@ * */ +import { BaseTool } from './baseTool'; import { BlockMap } from './blockMap'; import { Direction } from './direction'; import { EventEmitter } from './eventEmitter'; @@ -23,8 +24,10 @@ var PowerManager = EventEmitter(function(map) { this._map = map; this._powerStack = []; this._irrigateStack = []; + this._setCropStack = []; this.powerGridMap = new BlockMap(this._map.width, this._map.height, 1); this.irrigateGridMap = new BlockMap(this._map.width, this._map.height, 1); + this.costFieldMap = new BlockMap(this._map.width, this._map.height, 1); }); @@ -56,6 +59,27 @@ PowerManager.prototype.setTileIrrigate = function(x, y) { tile.removeFlags(Tile.IRRIGBIT); }; +PowerManager.prototype.setCostCrop = function(x, y) { + var tile = this._map.getTile(x, y); + var tileValue = tile.getValue(); + + switch (tileValue) { + case Tile.FCORN: + case Tile.CORN : + this.costFieldMap.set(x, y, BaseTool.CORN_COST); break; + case Tile.WHEAT : + case Tile.FWHEAT : + this.costFieldMap.set(x, y, BaseTool.WHEAT_COST); break; + case Tile.ORCHARD : + case Tile.FORCHARD : + this.costFieldMap.set(x, y, BaseTool.ORCHARD_COST); break; + case Tile.POTATO : + case Tile.FPOTATO : + this.costFieldMap.set(x, y, BaseTool.POTATO_COST); break; + default: break; + } +}; + PowerManager.prototype.clearPowerStack = function() { this._powerStackPointer = 0; @@ -67,6 +91,11 @@ PowerManager.prototype.clearIrrigateStack = function() { this._irrigateStack = []; }; +PowerManager.prototype.clearsetCropStack = function() { + this._setCropStackPointer = 0; + this._setCropStack = []; +}; + PowerManager.prototype.testForConductive = function(pos, testDir) { var movedPos = new this._map.Position(pos); diff --git a/src/simulation.js b/src/simulation.js index 44eb459..404c4eb 100644 --- a/src/simulation.js +++ b/src/simulation.js @@ -219,6 +219,7 @@ Simulation.prototype._clearCensus = function() { this._census.clearCensus(); this._powerManager.clearPowerStack(); this._powerManager.clearIrrigateStack(); + this._powerManager.clearsetCropStack(); this.blockMaps.fireStationMap.clear(); this.blockMaps.policeStationMap.clear(); }; @@ -363,7 +364,7 @@ var simulate = function(simData) { this._sendMessages(); break; - case 11: //nello stesso case perche phaseCycle arriva max a 15 (bitwise con 15) + case 11: if ((this._simCycle % speedPowerScan[speedIndex]) === 0) this._powerManager.doPowerScan(this._census); if ((this._simCycle % speedIrrigateScan[speedIndex]) === 0) From bef9a0389b25b4ecee693257b86d5d9e6743a5db Mon Sep 17 00:00:00 2001 From: Massimo Date: Sun, 11 Oct 2020 20:47:54 +0200 Subject: [PATCH 27/41] Revert "Merge branch 'prova1' of https://github.com/capatommy/micropolisJS into prova1" This reverts commit 1f44e641960c11fdac4916febaf5eb285d06674a, reversing changes made to 35537c4b95152496e0ce812902328f7c6f43c11d. --- css/style.css | 2 +- debug.log | 1 - src/budget.js | 61 ++++++++++------------------------------------- src/field.js | 42 ++++++++++++++++---------------- src/simulation.js | 3 ++- 5 files changed, 37 insertions(+), 72 deletions(-) delete mode 100644 debug.log diff --git a/css/style.css b/css/style.css index e1e53bc..1602806 100644 --- a/css/style.css +++ b/css/style.css @@ -602,7 +602,7 @@ nav li { background-color: lime; } -#fieldRequest, #fieldHeader { +#fieldButton, #fieldHeader { background-color: darkgoldenrod; } diff --git a/debug.log b/debug.log deleted file mode 100644 index 9e352ff..0000000 --- a/debug.log +++ /dev/null @@ -1 +0,0 @@ -[1010/214642.650:ERROR:settings.cc(430)] Settings version is not 5 diff --git a/src/budget.js b/src/budget.js index ffee876..b0d700e 100644 --- a/src/budget.js +++ b/src/budget.js @@ -20,9 +20,6 @@ var fireMaintenanceCost = 100; // Cost of maintaining 1 road tile var roadMaintenanceCost = 1; -// Cost of maintaining 1 field tile -var fieldMaintenanceCost = 100; - // Cost of maintaining 1 rail tile var railMaintenanceCost = 2; @@ -31,10 +28,8 @@ var Budget = EventEmitter(function() { Object.defineProperties(this, {MAX_ROAD_EFFECT: MiscUtils.makeConstantDescriptor(32), MAX_POLICESTATION_EFFECT: MiscUtils.makeConstantDescriptor(1000), - MAX_FIRESTATION_EFFECT: MiscUtils.makeConstantDescriptor(1000), - MAX_FIELD_EFFECT: MiscUtils.makeConstantDescriptor(1000)}); + MAX_FIRESTATION_EFFECT: MiscUtils.makeConstantDescriptor(1000)}); - this.fieldEffect = this.MAX_FIELD_EFFECT; this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; @@ -48,28 +43,25 @@ var Budget = EventEmitter(function() { this.roadMaintenanceBudget = 0; this.fireMaintenanceBudget = 0; this.policeMaintenanceBudget = 0; - this.fieldMaintenanceBudget = 0; // Percentage of budget used this.roadPercent = 1; this.firePercent = 1; this.policePercent = 1; - this.fieldPercent = 1; // Cash value of spending. Should equal Math.round(_MaintenanceBudget * _Percent) this.roadSpend = 0; this.fireSpend = 0; this.policeSpend = 0; - this.fieldSpend this.awaitingValues = false; this.autoBudget = true; }); -var saveProps = ['autoBudget', 'totalFunds', 'policePercent', 'roadPercent', 'firePercent','fieldPercent', 'roadSpend', - 'policeSpend', 'fireSpend','fieldSpend', 'roadMaintenanceBudget', 'policeMaintenanceBudget', - 'fireMaintenanceBudget','fieldMintenanceBudget', 'cityTax','fieldEffect', 'roadEffect', 'policeEffect', 'fireEffect', 'fieldsCost']; +var saveProps = ['autoBudget', 'totalFunds', 'policePercent', 'roadPercent', 'firePercent', 'roadSpend', + 'policeSpend', 'fireSpend', 'roadMaintenanceBudget', 'policeMaintenanceBudget', + 'fireMaintenanceBudget', 'cityTax', 'roadEffect', 'policeEffect', 'fireEffect', 'fieldsCost']; Budget.prototype.save = function(saveData) { for (var i = 0, l = saveProps.length; i < l; i++) @@ -104,36 +96,27 @@ var FLevels = [1.4, 1.2, 0.8]; Budget.prototype._calculateBestPercentages = function() { // How much would we be spending based on current percentages? // Note: the *Budget items are updated every January by collectTax - this.fieldSpend = Math.round(this.fieldMaintenanceBudget * this.fieldPercent) this.roadSpend = Math.round(this.roadMaintenanceBudget * this.roadPercent); this.fireSpend = Math.round(this.fireMaintenanceBudget * this.firePercent); this.policeSpend = Math.round(this.policeMaintenanceBudget * this.policePercent); - var total = this.roadSpend + this.fireSpend + this.policeSpend + this.fieldSpend; + var total = this.roadSpend + this.fireSpend + this.policeSpend; // If we don't have any services on the map, we can bail early if (total === 0) { this.roadPercent = 1; this.firePercent = 1; this.policePercent = 1; - this.fieldPercent = 1; - return {road: 1, fire: 1, police: 1, field: 1}; + return {road: 1, fire: 1, police: 1}; } // How much are we actually going to spend? var roadCost = 0; var fireCost = 0; var policeCost = 0; - var fieldCost = 0; var cashRemaining = this.totalFunds + this.taxFund; // Spending priorities: road, fire, police - if (cashRemaining >= this.fieldSpend) - fieldCost = this.fieldSpend; - else - fieldCost = cashRemaining; - cashRemaining -= fieldCost; - if (cashRemaining >= this.roadSpend) roadCost = this.roadSpend; else @@ -152,11 +135,6 @@ Budget.prototype._calculateBestPercentages = function() { policeCost = cashRemaining; cashRemaining -= policeCost; - if (this.fieldMaintenanceBudget > 0) - this.fieldPercent = (fieldCost / this.fieldMaintenanceBudget).toPrecision(2) - 0; -else - this.fieldPercent = 1; - if (this.roadMaintenanceBudget > 0) this.roadPercent = (roadCost / this.roadMaintenanceBudget).toPrecision(2) - 0; else @@ -172,7 +150,7 @@ else else this.policePercent = 1; - return {road: roadCost, police: policeCost, fire: fireCost, field: fieldCost}; + return {road: roadCost, police: policeCost, fire: fireCost}; }; @@ -192,18 +170,17 @@ Budget.prototype.doBudgetNow = function(fromWindow) { return; } - var fieldCost = costs.field; var roadCost = costs.road; var policeCost = costs.police; var fireCost = costs.fire; - var totalCost = roadCost + policeCost + fireCost + fieldCost; - var cashRemaining = this.totalFunds + this.taxFund - totalCost; + var totalCost = roadCost + policeCost + fireCost; + var cashRemaining = this.totalFunds + this.taxFund - this.fieldsCost - totalCost; // Autobudget if ((cashRemaining > 0 && this.autoBudget) || fromWindow) { // Either we were able to fully fund services, or we have just normalised user input. Go ahead and spend. this.awaitingValues = false; - this.doBudgetSpend(roadCost, fireCost, policeCost, fieldCost); + this.doBudgetSpend(roadCost, fireCost, policeCost); return; } @@ -216,12 +193,11 @@ Budget.prototype.doBudgetNow = function(fromWindow) { }; -Budget.prototype.doBudgetSpend = function(roadValue, fireValue, policeValue, fieldValue) { - this.fieldSpend = fieldValue; +Budget.prototype.doBudgetSpend = function(roadValue, fireValue, policeValue) { this.roadSpend = roadValue; this.fireSpend = fireValue; this.policeSpend = policeValue; - var total = this.roadSpend + this.fireSpend + this.policeSpend + this.fieldSpend; + var total = this.roadSpend + this.fireSpend + this.policeSpend + this.fieldsCost; this.spend(-(this.taxFund - total)); this.updateFundEffects(); @@ -233,16 +209,11 @@ Budget.prototype.updateFundEffects = function() { this.roadSpend = Math.round(this.roadMaintenanceBudget * this.roadPercent); this.fireSpend = Math.round(this.fireMaintenanceBudget * this.firePercent); this.policeSpend = Math.round(this.policeMaintenanceBudget * this.policePercent); - this.fieldSpend = Math.round(this.fieldMaintenanceBudget * this.fieldPercent); // Update the effect this level of spending will have on infrastructure deterioration this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; - this.fieldEffect = this.MAX_FIELD_EFFECT; - - if (this.fieldMaintenanceBudget > 0) - this.fieldEffect = Math.floor(this.fieldEffect * this.fieldSpend / this.fieldMaintenanceBudget); if (this.roadMaintenanceBudget > 0) this.roadEffect = Math.floor(this.roadEffect * this.roadSpend / this.roadMaintenanceBudget); @@ -261,7 +232,6 @@ Budget.prototype.collectTax = function(gameLevel, census) { // How much would it cost to fully fund every service? this.policeMaintenanceBudget = census.policeStationPop * policeMaintenanceCost; this.fireMaintenanceBudget = census.fireStationPop * fireMaintenanceCost; - this.fieldMaintenanceBudget = census.fieldZonePop * fieldMaintenanceCost; var roadCost = census.roadTotal * roadMaintenanceCost; var railCost = census.railTotal * railMaintenanceCost; @@ -270,12 +240,11 @@ Budget.prototype.collectTax = function(gameLevel, census) { this.taxFund = Math.floor(Math.floor(census.totalPop * census.landValueAverage / 120) * this.cityTax * FLevels[gameLevel]); if (census.totalPop > 0) { - this.cashFlow = this.taxFund - (this.fieldsCost + this.policeMaintenanceBudget + this.fireMaintenanceBudget + this.roadMaintenanceBudget + this.fieldMaintenanceBudget); + this.cashFlow = this.taxFund - (this.fieldsCost + this.policeMaintenanceBudget + this.fireMaintenanceBudget + this.roadMaintenanceBudget); this.doBudgetNow(false); } else { // We don't want roads etc deteriorating when population hasn't yet been established // (particularly early game) - this.fieldEffect = this.MAX_FIELD_EFFECT; this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; @@ -312,9 +281,5 @@ Budget.prototype.shouldDegradeRoad = function() { return this.roadEffect < Math.floor(15 * this.MAX_ROAD_EFFECT / 16); }; -Budget.prototype.shouldDegradeField = function() { - return this.fieldEffect < Math.floor(15 * this.MAX_FIELD_EFFECT / 16); -}; - export { Budget }; diff --git a/src/field.js b/src/field.js index e7ede58..ec69a22 100644 --- a/src/field.js +++ b/src/field.js @@ -252,7 +252,7 @@ var fieldFound = function(map, x, y, simData) { break; case Tile.ORCHARD: - tile = Tile.FORCHARD; + centreTile = Tile.FORCHARD; break; case Tile.POTATO: @@ -264,26 +264,6 @@ var fieldFound = function(map, x, y, simData) { } } map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); - - var tileValue = map.getTileValue(x, y); - var population = getZonePopulation(map, x, y, tileValue); - simData.census.fieldPop += population; - - if(simData.budget.shouldDegradeField()){ - if (Random.getChance(511)) { - lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); - degradeZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); - return; - } - }else{ - if(Random.getChance(511)){ - lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); - growZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); - return; - } - } - - // Also, notify the census of our population @@ -362,12 +342,32 @@ var fieldFound = function(map, x, y, simData) { }; +var makeHospital = function(map, x, y, simData, zoneIrrigate) { /////////////////analogia? + // We only build a hospital if the population requires it + if (simData.census.needHospital > 0) { + ZoneUtils.putZone(map, x, y, Tile.HOSPITAL, zonePower, zoneIrrigate); + simData.census.needHospital = 0; + return; + } +}; +var hospitalFound = function(map, x, y, simData) { ////////////////////////////// + simData.census.hospitalPop += 1; + + // Degrade to an empty zone if a hospital is no longer sustainable + if (simData.census.needHospital === -1) { + if (Random.getRandom(20) === 0) + ZoneUtils.putZone(map, x, y, Tile.FREE, map.getTile(x, y).isPowered(), map.getTile(x, y).isIrrigated()); + } +}; + var Field = { registerHandlers: function(mapScanner, repairManager) { mapScanner.addAction(TileUtils.isFieldZone, fieldFound); + mapScanner.addAction(TileUtils.HOSPITAL, hospitalFound); /////////////////// + repairManager.addAction(Tile.HOSPITAL, 15, 3); ////////////////// }, getZonePopulation: getZonePopulation }; diff --git a/src/simulation.js b/src/simulation.js index 01d0827..404c4eb 100644 --- a/src/simulation.js +++ b/src/simulation.js @@ -238,7 +238,8 @@ Simulation.prototype._constructSimData = function() { simulator: this, spriteManager: this.spriteManager, trafficManager: this._traffic, - valves: this._valves + valves: this._valves, + wwtpcost: this._wwtpcost }; }; From 1b126810cb322154f9c37d35d5f20ec8d2f1a2fd Mon Sep 17 00:00:00 2001 From: Massimo Date: Sun, 11 Oct 2020 20:52:50 +0200 Subject: [PATCH 28/41] Revert "Revert "Merge branch 'prova1' of https://github.com/capatommy/micropolisJS into prova1"" This reverts commit bef9a0389b25b4ecee693257b86d5d9e6743a5db. --- css/style.css | 2 +- debug.log | 1 + src/budget.js | 61 +++++++++++++++++++++++++++++++++++++---------- src/field.js | 42 ++++++++++++++++---------------- src/simulation.js | 3 +-- 5 files changed, 72 insertions(+), 37 deletions(-) create mode 100644 debug.log diff --git a/css/style.css b/css/style.css index 1602806..e1e53bc 100644 --- a/css/style.css +++ b/css/style.css @@ -602,7 +602,7 @@ nav li { background-color: lime; } -#fieldButton, #fieldHeader { +#fieldRequest, #fieldHeader { background-color: darkgoldenrod; } diff --git a/debug.log b/debug.log new file mode 100644 index 0000000..9e352ff --- /dev/null +++ b/debug.log @@ -0,0 +1 @@ +[1010/214642.650:ERROR:settings.cc(430)] Settings version is not 5 diff --git a/src/budget.js b/src/budget.js index b0d700e..ffee876 100644 --- a/src/budget.js +++ b/src/budget.js @@ -20,6 +20,9 @@ var fireMaintenanceCost = 100; // Cost of maintaining 1 road tile var roadMaintenanceCost = 1; +// Cost of maintaining 1 field tile +var fieldMaintenanceCost = 100; + // Cost of maintaining 1 rail tile var railMaintenanceCost = 2; @@ -28,8 +31,10 @@ var Budget = EventEmitter(function() { Object.defineProperties(this, {MAX_ROAD_EFFECT: MiscUtils.makeConstantDescriptor(32), MAX_POLICESTATION_EFFECT: MiscUtils.makeConstantDescriptor(1000), - MAX_FIRESTATION_EFFECT: MiscUtils.makeConstantDescriptor(1000)}); + MAX_FIRESTATION_EFFECT: MiscUtils.makeConstantDescriptor(1000), + MAX_FIELD_EFFECT: MiscUtils.makeConstantDescriptor(1000)}); + this.fieldEffect = this.MAX_FIELD_EFFECT; this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; @@ -43,25 +48,28 @@ var Budget = EventEmitter(function() { this.roadMaintenanceBudget = 0; this.fireMaintenanceBudget = 0; this.policeMaintenanceBudget = 0; + this.fieldMaintenanceBudget = 0; // Percentage of budget used this.roadPercent = 1; this.firePercent = 1; this.policePercent = 1; + this.fieldPercent = 1; // Cash value of spending. Should equal Math.round(_MaintenanceBudget * _Percent) this.roadSpend = 0; this.fireSpend = 0; this.policeSpend = 0; + this.fieldSpend this.awaitingValues = false; this.autoBudget = true; }); -var saveProps = ['autoBudget', 'totalFunds', 'policePercent', 'roadPercent', 'firePercent', 'roadSpend', - 'policeSpend', 'fireSpend', 'roadMaintenanceBudget', 'policeMaintenanceBudget', - 'fireMaintenanceBudget', 'cityTax', 'roadEffect', 'policeEffect', 'fireEffect', 'fieldsCost']; +var saveProps = ['autoBudget', 'totalFunds', 'policePercent', 'roadPercent', 'firePercent','fieldPercent', 'roadSpend', + 'policeSpend', 'fireSpend','fieldSpend', 'roadMaintenanceBudget', 'policeMaintenanceBudget', + 'fireMaintenanceBudget','fieldMintenanceBudget', 'cityTax','fieldEffect', 'roadEffect', 'policeEffect', 'fireEffect', 'fieldsCost']; Budget.prototype.save = function(saveData) { for (var i = 0, l = saveProps.length; i < l; i++) @@ -96,27 +104,36 @@ var FLevels = [1.4, 1.2, 0.8]; Budget.prototype._calculateBestPercentages = function() { // How much would we be spending based on current percentages? // Note: the *Budget items are updated every January by collectTax + this.fieldSpend = Math.round(this.fieldMaintenanceBudget * this.fieldPercent) this.roadSpend = Math.round(this.roadMaintenanceBudget * this.roadPercent); this.fireSpend = Math.round(this.fireMaintenanceBudget * this.firePercent); this.policeSpend = Math.round(this.policeMaintenanceBudget * this.policePercent); - var total = this.roadSpend + this.fireSpend + this.policeSpend; + var total = this.roadSpend + this.fireSpend + this.policeSpend + this.fieldSpend; // If we don't have any services on the map, we can bail early if (total === 0) { this.roadPercent = 1; this.firePercent = 1; this.policePercent = 1; - return {road: 1, fire: 1, police: 1}; + this.fieldPercent = 1; + return {road: 1, fire: 1, police: 1, field: 1}; } // How much are we actually going to spend? var roadCost = 0; var fireCost = 0; var policeCost = 0; + var fieldCost = 0; var cashRemaining = this.totalFunds + this.taxFund; // Spending priorities: road, fire, police + if (cashRemaining >= this.fieldSpend) + fieldCost = this.fieldSpend; + else + fieldCost = cashRemaining; + cashRemaining -= fieldCost; + if (cashRemaining >= this.roadSpend) roadCost = this.roadSpend; else @@ -135,6 +152,11 @@ Budget.prototype._calculateBestPercentages = function() { policeCost = cashRemaining; cashRemaining -= policeCost; + if (this.fieldMaintenanceBudget > 0) + this.fieldPercent = (fieldCost / this.fieldMaintenanceBudget).toPrecision(2) - 0; +else + this.fieldPercent = 1; + if (this.roadMaintenanceBudget > 0) this.roadPercent = (roadCost / this.roadMaintenanceBudget).toPrecision(2) - 0; else @@ -150,7 +172,7 @@ Budget.prototype._calculateBestPercentages = function() { else this.policePercent = 1; - return {road: roadCost, police: policeCost, fire: fireCost}; + return {road: roadCost, police: policeCost, fire: fireCost, field: fieldCost}; }; @@ -170,17 +192,18 @@ Budget.prototype.doBudgetNow = function(fromWindow) { return; } + var fieldCost = costs.field; var roadCost = costs.road; var policeCost = costs.police; var fireCost = costs.fire; - var totalCost = roadCost + policeCost + fireCost; - var cashRemaining = this.totalFunds + this.taxFund - this.fieldsCost - totalCost; + var totalCost = roadCost + policeCost + fireCost + fieldCost; + var cashRemaining = this.totalFunds + this.taxFund - totalCost; // Autobudget if ((cashRemaining > 0 && this.autoBudget) || fromWindow) { // Either we were able to fully fund services, or we have just normalised user input. Go ahead and spend. this.awaitingValues = false; - this.doBudgetSpend(roadCost, fireCost, policeCost); + this.doBudgetSpend(roadCost, fireCost, policeCost, fieldCost); return; } @@ -193,11 +216,12 @@ Budget.prototype.doBudgetNow = function(fromWindow) { }; -Budget.prototype.doBudgetSpend = function(roadValue, fireValue, policeValue) { +Budget.prototype.doBudgetSpend = function(roadValue, fireValue, policeValue, fieldValue) { + this.fieldSpend = fieldValue; this.roadSpend = roadValue; this.fireSpend = fireValue; this.policeSpend = policeValue; - var total = this.roadSpend + this.fireSpend + this.policeSpend + this.fieldsCost; + var total = this.roadSpend + this.fireSpend + this.policeSpend + this.fieldSpend; this.spend(-(this.taxFund - total)); this.updateFundEffects(); @@ -209,11 +233,16 @@ Budget.prototype.updateFundEffects = function() { this.roadSpend = Math.round(this.roadMaintenanceBudget * this.roadPercent); this.fireSpend = Math.round(this.fireMaintenanceBudget * this.firePercent); this.policeSpend = Math.round(this.policeMaintenanceBudget * this.policePercent); + this.fieldSpend = Math.round(this.fieldMaintenanceBudget * this.fieldPercent); // Update the effect this level of spending will have on infrastructure deterioration this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; + this.fieldEffect = this.MAX_FIELD_EFFECT; + + if (this.fieldMaintenanceBudget > 0) + this.fieldEffect = Math.floor(this.fieldEffect * this.fieldSpend / this.fieldMaintenanceBudget); if (this.roadMaintenanceBudget > 0) this.roadEffect = Math.floor(this.roadEffect * this.roadSpend / this.roadMaintenanceBudget); @@ -232,6 +261,7 @@ Budget.prototype.collectTax = function(gameLevel, census) { // How much would it cost to fully fund every service? this.policeMaintenanceBudget = census.policeStationPop * policeMaintenanceCost; this.fireMaintenanceBudget = census.fireStationPop * fireMaintenanceCost; + this.fieldMaintenanceBudget = census.fieldZonePop * fieldMaintenanceCost; var roadCost = census.roadTotal * roadMaintenanceCost; var railCost = census.railTotal * railMaintenanceCost; @@ -240,11 +270,12 @@ Budget.prototype.collectTax = function(gameLevel, census) { this.taxFund = Math.floor(Math.floor(census.totalPop * census.landValueAverage / 120) * this.cityTax * FLevels[gameLevel]); if (census.totalPop > 0) { - this.cashFlow = this.taxFund - (this.fieldsCost + this.policeMaintenanceBudget + this.fireMaintenanceBudget + this.roadMaintenanceBudget); + this.cashFlow = this.taxFund - (this.fieldsCost + this.policeMaintenanceBudget + this.fireMaintenanceBudget + this.roadMaintenanceBudget + this.fieldMaintenanceBudget); this.doBudgetNow(false); } else { // We don't want roads etc deteriorating when population hasn't yet been established // (particularly early game) + this.fieldEffect = this.MAX_FIELD_EFFECT; this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; @@ -281,5 +312,9 @@ Budget.prototype.shouldDegradeRoad = function() { return this.roadEffect < Math.floor(15 * this.MAX_ROAD_EFFECT / 16); }; +Budget.prototype.shouldDegradeField = function() { + return this.fieldEffect < Math.floor(15 * this.MAX_FIELD_EFFECT / 16); +}; + export { Budget }; diff --git a/src/field.js b/src/field.js index ec69a22..e7ede58 100644 --- a/src/field.js +++ b/src/field.js @@ -252,7 +252,7 @@ var fieldFound = function(map, x, y, simData) { break; case Tile.ORCHARD: - centreTile = Tile.FORCHARD; + tile = Tile.FORCHARD; break; case Tile.POTATO: @@ -264,6 +264,26 @@ var fieldFound = function(map, x, y, simData) { } } map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); + + var tileValue = map.getTileValue(x, y); + var population = getZonePopulation(map, x, y, tileValue); + simData.census.fieldPop += population; + + if(simData.budget.shouldDegradeField()){ + if (Random.getChance(511)) { + lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); + degradeZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); + return; + } + }else{ + if(Random.getChance(511)){ + lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); + growZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); + return; + } + } + + // Also, notify the census of our population @@ -342,32 +362,12 @@ var fieldFound = function(map, x, y, simData) { }; -var makeHospital = function(map, x, y, simData, zoneIrrigate) { /////////////////analogia? - // We only build a hospital if the population requires it - if (simData.census.needHospital > 0) { - ZoneUtils.putZone(map, x, y, Tile.HOSPITAL, zonePower, zoneIrrigate); - simData.census.needHospital = 0; - return; - } -}; -var hospitalFound = function(map, x, y, simData) { ////////////////////////////// - simData.census.hospitalPop += 1; - - // Degrade to an empty zone if a hospital is no longer sustainable - if (simData.census.needHospital === -1) { - if (Random.getRandom(20) === 0) - ZoneUtils.putZone(map, x, y, Tile.FREE, map.getTile(x, y).isPowered(), map.getTile(x, y).isIrrigated()); - } -}; - var Field = { registerHandlers: function(mapScanner, repairManager) { mapScanner.addAction(TileUtils.isFieldZone, fieldFound); - mapScanner.addAction(TileUtils.HOSPITAL, hospitalFound); /////////////////// - repairManager.addAction(Tile.HOSPITAL, 15, 3); ////////////////// }, getZonePopulation: getZonePopulation }; diff --git a/src/simulation.js b/src/simulation.js index 404c4eb..01d0827 100644 --- a/src/simulation.js +++ b/src/simulation.js @@ -238,8 +238,7 @@ Simulation.prototype._constructSimData = function() { simulator: this, spriteManager: this.spriteManager, trafficManager: this._traffic, - valves: this._valves, - wwtpcost: this._wwtpcost + valves: this._valves }; }; From 83ba71207f17ad97267b01d9e57b332a1ce32682 Mon Sep 17 00:00:00 2001 From: Massimo Date: Mon, 12 Oct 2020 10:03:28 +0200 Subject: [PATCH 29/41] added field to budgetWindow --- index.html | 8 +++++++- src/budget.js | 5 ++--- src/budgetWindow.js | 10 +++++----- src/game.js | 4 +++- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/index.html b/index.html index bf4f59d..5d37716 100644 --- a/index.html +++ b/index.html @@ -199,7 +199,6 @@

micropolisJS

-
Year fields cost:
Tax Collected:
Cashflow:
Previous funds:
@@ -232,6 +231,13 @@

micropolisJS

+
+ Field + +
+ +
+
diff --git a/src/budget.js b/src/budget.js index ffee876..bac9380 100644 --- a/src/budget.js +++ b/src/budget.js @@ -42,7 +42,6 @@ var Budget = EventEmitter(function() { this.cityTax = 7; this.cashFlow = 0; this.taxFund = 0; - this.fieldsCost = 0; // These values denote how much money is required to fully maintain the relevant services this.roadMaintenanceBudget = 0; @@ -69,7 +68,7 @@ var Budget = EventEmitter(function() { var saveProps = ['autoBudget', 'totalFunds', 'policePercent', 'roadPercent', 'firePercent','fieldPercent', 'roadSpend', 'policeSpend', 'fireSpend','fieldSpend', 'roadMaintenanceBudget', 'policeMaintenanceBudget', - 'fireMaintenanceBudget','fieldMintenanceBudget', 'cityTax','fieldEffect', 'roadEffect', 'policeEffect', 'fireEffect', 'fieldsCost']; + 'fireMaintenanceBudget','fieldMintenanceBudget', 'cityTax','fieldEffect', 'roadEffect', 'policeEffect', 'fireEffect']; Budget.prototype.save = function(saveData) { for (var i = 0, l = saveProps.length; i < l; i++) @@ -270,7 +269,7 @@ Budget.prototype.collectTax = function(gameLevel, census) { this.taxFund = Math.floor(Math.floor(census.totalPop * census.landValueAverage / 120) * this.cityTax * FLevels[gameLevel]); if (census.totalPop > 0) { - this.cashFlow = this.taxFund - (this.fieldsCost + this.policeMaintenanceBudget + this.fireMaintenanceBudget + this.roadMaintenanceBudget + this.fieldMaintenanceBudget); + this.cashFlow = this.taxFund - (this.policeMaintenanceBudget + this.fireMaintenanceBudget + this.roadMaintenanceBudget + this.fieldMaintenanceBudget); this.doBudgetNow(false); } else { // We don't want roads etc deteriorating when population hasn't yet been established diff --git a/src/budgetWindow.js b/src/budgetWindow.js index afaf1b2..f0f85f6 100644 --- a/src/budgetWindow.js +++ b/src/budgetWindow.js @@ -18,8 +18,8 @@ var BudgetWindow = ModalWindow(function() { }); -var dataKeys = ['roadMaintenanceBudget', 'fireMaintenanceBudget', 'policeMaintenanceBudget']; -var spendKeys = ['roadRate', 'fireRate', 'policeRate']; +var dataKeys = ['roadMaintenanceBudget', 'fireMaintenanceBudget', 'policeMaintenanceBudget', 'fieldMaintenanceBudget']; +var spendKeys = ['roadRate', 'fireRate', 'policeRate', 'fieldRate']; var budgetResetID = '#budgetReset'; var budgetCancelID = '#budgetCancel'; @@ -81,11 +81,12 @@ var submit = function(e) { // Get element values var roadPercent = $('#roadRate')[0].value; + var fieldPercent = $('#fieldRate')[0].value; var firePercent = $('#fireRate')[0].value; var policePercent = $('#policeRate')[0].value; var taxPercent = $('#taxRate')[0].value; - var data = {cancelled: false, roadPercent: roadPercent, firePercent: firePercent, + var data = {cancelled: false, roadPercent: roadPercent, firePercent: firePercent, fieldPercent: fieldPercent, policePercent: policePercent, taxPercent: taxPercent, e: e, original: e.type}; this.close(data); }; @@ -134,13 +135,12 @@ BudgetWindow.prototype.open = function(budgetData) { if (taxesCollected === undefined) throw new Error('Missing budget data (taxesCollected)'); - var cashFlow = taxesCollected - this.roadMaintenanceBudget - this.fireMaintenanceBudget - this.policeMaintenanceBudget; + var cashFlow = taxesCollected - this.fieldMaintenanceBudget - this.roadMaintenanceBudget - this.fireMaintenanceBudget - this.policeMaintenanceBudget; var currentFunds = previousFunds + cashFlow; $('#taxesCollected').text('$' + taxesCollected); $('#cashFlow').text((cashFlow < 0 ? '-$' : '$') + cashFlow); $('#previousFunds').text((previousFunds < 0 ? '-$' : '$') + previousFunds); $('#currentFunds').text('$' + currentFunds); - $('#fieldsCost').text('$' + fieldsCost); this._toggleDisplay(); }; diff --git a/src/game.js b/src/game.js index 10dc042..5af46fd 100644 --- a/src/game.js +++ b/src/game.js @@ -127,7 +127,8 @@ function Game(gameMap, tileSet, snowTileSet, spriteSheet, difficulty, name) { taxRate: this.simulation.budget.cityTax, totalFunds: this.simulation.budget.totalFunds, taxesCollected: this.simulation.budget.taxFund, - fieldsCost: this.simulation.budget.fieldsCost + fieldMaintenanceBudget: this.simulation.budget.fieldMaintenanceBudget, + fieldRate: Math.floor(this.simulation.budget.fieldPercent * 100), }; return [budgetData]; @@ -462,6 +463,7 @@ Game.prototype.handleBudgetWindowClosure = function(data) { this.simulation.budget.roadPercent = data.roadPercent / 100; this.simulation.budget.firePercent = data.firePercent / 100; this.simulation.budget.policePercent = data.policePercent / 100; + this.simulation.budget.fieldPercent = data.fieldPercent / 100; this.simulation.budget.setTax(data.taxPercent - 0); if (this.simNeededBudget) { this.simulation.budget.doBudgetWindow(); From d47f06ed12c1a3469f106614f0db155493232186 Mon Sep 17 00:00:00 2001 From: capatommy Date: Mon, 12 Oct 2020 11:12:14 +0200 Subject: [PATCH 30/41] quick fixes --- src/census.js | 1 + src/field.js | 1 + src/indiefield.js | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/census.js b/src/census.js index 1749522..32b0dc2 100644 --- a/src/census.js +++ b/src/census.js @@ -68,6 +68,7 @@ Census.prototype.clearCensus = function() { this.indPop = 0; this.resZonePop = 0; this.fieldZonePop = 0; + this.indfieldZonePop = 0; this.comZonePop = 0; this.indZonePop = 0; this.hospitalPop = 0; diff --git a/src/field.js b/src/field.js index e7ede58..eead5ae 100644 --- a/src/field.js +++ b/src/field.js @@ -20,6 +20,7 @@ import { ZoneUtils } from './zoneUtils'; // increasing order of land value, cycling through each population value var placeField = function(map, x, y, population, lpValue, zoneIrrigate) { var centreTile = ((lpValue * 4) + population) * 9 + Tile.FZB; + this.zonePower = false; // dava errore se non dichiarato ZoneUtils.putZone(map, x, y, centreTile, zonePower, zoneIrrigate); }; diff --git a/src/indiefield.js b/src/indiefield.js index 2665438..26b806a 100644 --- a/src/indiefield.js +++ b/src/indiefield.js @@ -209,7 +209,7 @@ var indfieldFound = function(map, x, y, simData) { var lpValue; // Notify the census - simData.census.fieldZonePop += 1; + simData.census.indfieldZonePop += 1; // Also, notify the census of our population var tileValue = map.getTileValue(x, y); From 2ad9456aa5d2e94968cb48c641d31d5a3aef019c Mon Sep 17 00:00:00 2001 From: Massimo Date: Mon, 12 Oct 2020 12:16:12 +0200 Subject: [PATCH 31/41] fix indf irrigation and fixes --- src/animationManager.js | 5 ++++- src/budget.js | 2 +- src/buildingTool.js | 7 +++++-- src/evaluation.js | 6 +++++- src/field.js | 11 ++++++----- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/animationManager.js b/src/animationManager.js index 13358a3..d5c1415 100644 --- a/src/animationManager.js +++ b/src/animationManager.js @@ -109,7 +109,10 @@ AnimationManager.prototype.getTiles = function(tileValues, offsetX, offsetY, xBo if (tile === INVALID) continue; - if (shouldBlink && (tile & ZONEBIT) && !(tile & POWERBIT) && !(tile & HYDRABIT)) { + var tileValue = this._map.getTileValue(mapX, mapY); + + if (shouldBlink && (tile & ZONEBIT) && !(tile & POWERBIT) && !(tile & HYDRABIT) + &&(tileValue < Tile.CORN)) { tileValues[index] = LIGHTNINGBOLT; continue; } diff --git a/src/budget.js b/src/budget.js index bac9380..2927126 100644 --- a/src/budget.js +++ b/src/budget.js @@ -59,7 +59,7 @@ var Budget = EventEmitter(function() { this.roadSpend = 0; this.fireSpend = 0; this.policeSpend = 0; - this.fieldSpend + this.fieldSpend = 0; this.awaitingValues = false; this.autoBudget = true; diff --git a/src/buildingTool.js b/src/buildingTool.js index 9e9608d..d526123 100644 --- a/src/buildingTool.js +++ b/src/buildingTool.js @@ -43,8 +43,7 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { posX = leftX + dx; tileValue = baseTile; - if (TileUtils.isIndField(tileValue) || TileUtils.isField(tileValue) || - (tileValue>=Tile.WWTPBASE && tileValue<=Tile.LASTWWTP)) + if (TileUtils.isIndField(tileValue)) { if (dx === 1 && dy === 1 && (tileValue === Tile.FREEINDF)) { @@ -68,6 +67,10 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { default: break; } } + tileFlags = Tile.BURNBIT; + } + else if (TileUtils.isField(tileValue) ||(tileValue>=Tile.WWTPBASE && tileValue<=Tile.LASTWWTP)) + { if (dx === 1 && dy === 1 && (tileValue === Tile.FREEF)) { switch (c){ diff --git a/src/evaluation.js b/src/evaluation.js index 1ccc754..d7469d1 100644 --- a/src/evaluation.js +++ b/src/evaluation.js @@ -83,6 +83,7 @@ Evaluation.prototype.getAssessedValue = function(census) { value = census.roadTotal * 5; value += census.railTotal * 10; value += census.policeStationPop * 1000; + value += census.fieldZonePop * 1000; value += census.fireStationPop * 1000; value += census.hospitalPop * 400; value += census.stadiumPop * 3000; @@ -183,7 +184,7 @@ var getTrafficAverage = function(blockMaps, census) { var getUnemployment = function(census) { - var b = (census.fieldPop + census.comPop + census.indPop) * 8; + var b = (census.comPop + census.indPop) * 8; if (b === 0) return 0; @@ -267,6 +268,9 @@ Evaluation.prototype.getScore = function(simData) { if (budget.fireEffect < budget.MAX_FIRE_STATION_EFFECT) score = Math.round(score * (0.9 + (budget.fireEffect / (10 * budget.MAX_FIRE_STATION_EFFECT)))); + if (budget.fieldEffect < budget.MAX_FIELD_STATION_EFFECT) + score = Math.round(score * (0.9 + (budget.fieldEffect / (10 * budget.MAX_FIELD_STATION_EFFECT)))); + // Penalise the player by 15% if demand for any type of zone has collapsed due // to overprovision if (valves.resValve < -1000) diff --git a/src/field.js b/src/field.js index eead5ae..4451757 100644 --- a/src/field.js +++ b/src/field.js @@ -210,8 +210,7 @@ var fieldFound = function(map, x, y, simData) { // pollution scores (higher is better). This is then used to select the variant to build var lpValue; - // Notify the census - simData.census.fieldZonePop += 1; + var tile = map.getTileValue(x, y); var zoneIrrigate = map.getTile(x, y).isIrrigated(); @@ -220,6 +219,8 @@ var fieldFound = function(map, x, y, simData) { if( prevTile !== (Tile.FREEINDF-1)) { if(zoneIrrigate) { + // Notify the census + simData.census.fieldZonePop += 1; cost = simData.powerManager.costFieldMap.get(x, y); switch(cost){ case BaseTool.CORN_COST: @@ -231,7 +232,7 @@ var fieldFound = function(map, x, y, simData) { break; case BaseTool.ORCHARD_COST: - centreTile = Tile.ORCHARD; + tile = Tile.ORCHARD; break; case BaseTool.POTATO_COST: @@ -263,7 +264,7 @@ var fieldFound = function(map, x, y, simData) { default: break; }*/ } - } + map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); var tileValue = map.getTileValue(x, y); @@ -283,7 +284,7 @@ var fieldFound = function(map, x, y, simData) { return; } } - +} From 14be82b04faf6843020817b018de1b037da268c8 Mon Sep 17 00:00:00 2001 From: capatommy Date: Mon, 12 Oct 2020 12:43:07 +0200 Subject: [PATCH 32/41] cost also for indfield --- src/budget.js | 2 +- src/indiefield.js | 50 +++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/src/budget.js b/src/budget.js index 2927126..9b1d184 100644 --- a/src/budget.js +++ b/src/budget.js @@ -260,7 +260,7 @@ Budget.prototype.collectTax = function(gameLevel, census) { // How much would it cost to fully fund every service? this.policeMaintenanceBudget = census.policeStationPop * policeMaintenanceCost; this.fireMaintenanceBudget = census.fireStationPop * fireMaintenanceCost; - this.fieldMaintenanceBudget = census.fieldZonePop * fieldMaintenanceCost; + this.fieldMaintenanceBudget = ( census.fieldZonePop + census.indfieldZonePop ) * fieldMaintenanceCost; var roadCost = census.roadTotal * roadMaintenanceCost; var railCost = census.railTotal * railMaintenanceCost; diff --git a/src/indiefield.js b/src/indiefield.js index 26b806a..9f192e8 100644 --- a/src/indiefield.js +++ b/src/indiefield.js @@ -209,15 +209,49 @@ var indfieldFound = function(map, x, y, simData) { var lpValue; // Notify the census - simData.census.indfieldZonePop += 1; + simData.census.fieldZonePop += 1; + cost = simData.powerManager.costFieldMap.get(x, y); + switch(cost){ + case BaseTool.CORN_COST: + tile = Tile.INDCORN; + break; + + case BaseTool.WHEAT_COST: + tile = Tile.INDWHEAT; + break; + + case BaseTool.ORCHARD_COST: + tile = Tile.INDORCHARD; + break; + + case BaseTool.POTATO_COST: + tile = Tile.INDPOTATO; + break; + + default: break; + } - // Also, notify the census of our population - var tileValue = map.getTileValue(x, y); - var population = getZonePopulation(map, x, y, tileValue); + map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); + + var tileValue = map.getTileValue(x, y); + var population = getZonePopulation(map, x, y, tileValue); simData.census.fieldPop += population; - + + if(simData.budget.shouldDegradeField()){ + if (Random.getChance(511)) { + lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); + degradeZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); + return; + } + }else{ + if(Random.getChance(511)){ + lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); + growZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); + return; + } + } - var trafficOK = Traffic.ROUTE_FOUND; + /*var trafficOK = Traffic.ROUTE_FOUND; // Occasionally check to see if the zone is connected to the road network. The chance of this happening increases // as the zone's population increases. Note: we will never execute this conditional if the zone is empty, as zero @@ -259,7 +293,7 @@ var indfieldFound = function(map, x, y, simData) { makeHospital(map, x, y, simData, zonePower); return; } -*/ + // Get an index in the range 0-3 scoring the land desirability and pollution, and grow the zone to the next // population rank lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); @@ -277,7 +311,7 @@ var indfieldFound = function(map, x, y, simData) { lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); degradeZone(map, x, y, simData.blockMaps, population, lpValue); } - } + }*/ }; From 217581795373453b63b6be177a62df473122f760 Mon Sep 17 00:00:00 2001 From: Massimo Date: Mon, 12 Oct 2020 16:06:48 +0200 Subject: [PATCH 33/41] new f tiles and related logic --- images/tiles.png | Bin 114883 -> 114373 bytes src/animationManager.js | 2 +- src/buildingTool.js | 8 ++++---- src/indiefield.js | 4 +++- src/mapScanner.js | 2 +- src/powerManager.js | 26 +++++++++++++++++--------- src/tile.js | 35 +++++++++++++++++++++-------------- src/tileUtils.js | 7 ++----- 8 files changed, 49 insertions(+), 35 deletions(-) diff --git a/images/tiles.png b/images/tiles.png index 9432faedbed5bb7f9b542b1826ab8a220e515c9c..6b7917910f671ecfc824738795fb5959d696ca0b 100644 GIT binary patch delta 44951 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

@QAXIQ7&b1XsTZRk;F^=6zCA|7BFG>J)Ol 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 delta 45437 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 LwUsIrtU~_}&O_z# diff --git a/src/animationManager.js b/src/animationManager.js index d5c1415..21b1c85 100644 --- a/src/animationManager.js +++ b/src/animationManager.js @@ -112,7 +112,7 @@ AnimationManager.prototype.getTiles = function(tileValues, offsetX, offsetY, xBo var tileValue = this._map.getTileValue(mapX, mapY); if (shouldBlink && (tile & ZONEBIT) && !(tile & POWERBIT) && !(tile & HYDRABIT) - &&(tileValue < Tile.CORN)) { + && (tileValue < Tile.INDFIELDBASE)) { tileValues[index] = LIGHTNINGBOLT; continue; } diff --git a/src/buildingTool.js b/src/buildingTool.js index d526123..d3a7e5b 100644 --- a/src/buildingTool.js +++ b/src/buildingTool.js @@ -49,19 +49,19 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { { switch (c){ case BaseTool.CORN_COST: - tileValue = Tile.CORN; + tileValue = Tile.INDCORN; break; case BaseTool.WHEAT_COST: - tileValue = Tile.WHEAT; + tileValue = Tile.INDWHEAT; break; case BaseTool.ORCHARD_COST: - tileValue = Tile.ORCHARD; + tileValue = Tile.INDORCHARD; break; case BaseTool.POTATO_COST: - tileValue = Tile.POTATO; + tileValue = Tile.INDPOTATO; break; default: break; diff --git a/src/indiefield.js b/src/indiefield.js index 9f192e8..96baf2a 100644 --- a/src/indiefield.js +++ b/src/indiefield.js @@ -13,6 +13,7 @@ import { Tile } from './tile'; import { TileUtils } from './tileUtils'; import { Traffic } from './traffic'; import { ZoneUtils } from './zoneUtils'; +import { BaseTool } from './baseTool'; // Field tiles have 'populations' of 16, 24, 32 or 40, and value from 0 to 3. The tiles are laid out in // increasing order of land value, cycling through each population value @@ -210,7 +211,8 @@ var indfieldFound = function(map, x, y, simData) { // Notify the census simData.census.fieldZonePop += 1; - cost = simData.powerManager.costFieldMap.get(x, y); + var tile = map.getTileValue(x, y); + var cost = simData.powerManager.costFieldMap.get(x, y); switch(cost){ case BaseTool.CORN_COST: tile = Tile.INDCORN; diff --git a/src/mapScanner.js b/src/mapScanner.js index 1e47800..750e374 100644 --- a/src/mapScanner.js +++ b/src/mapScanner.js @@ -43,7 +43,7 @@ MapScanner.prototype.mapScan = function(startX, maxX, simData) { if (tile.isConductive()) simData.powerManager.setTilePower(x, y); - if (tile.isHydraulic() && (tileValue < Tile.INDFIELDBASE || tileValue > Tile.INDFIELDBASE+8)) + if (tile.isHydraulic()) simData.powerManager.setTileIrrigate(x, y); if(tileutils.isFieldZone(tile) || tileutils.isIndFieldZone(tile)) diff --git a/src/powerManager.js b/src/powerManager.js index e579183..2baa76d 100644 --- a/src/powerManager.js +++ b/src/powerManager.js @@ -51,7 +51,7 @@ PowerManager.prototype.setTileIrrigate = function(x, y) { if (((tileValue >= Tile.WWTPBASE && tileValue <= Tile.LASTWWTP) || this.irrigateGridMap.worldGet(x, y) > 0) && - (tileValue < Tile.INDFIELDBASE || tileValue > Tile.FREEINDF+4)) { + (tileValue < Tile.INDFIELDBASE || tileValue > Tile.INDFPOTATO)) { tile.addFlags(Tile.IRRIGBIT); return; } @@ -64,17 +64,25 @@ PowerManager.prototype.setCostCrop = function(x, y) { var tileValue = tile.getValue(); switch (tileValue) { - case Tile.FCORN: - case Tile.CORN : + case Tile.CORN: + case Tile.FCORN: + case Tile.INDCORN: + case Tile.INDFCORN: this.costFieldMap.set(x, y, BaseTool.CORN_COST); break; - case Tile.WHEAT : - case Tile.FWHEAT : + case Tile.WHEAT: + case Tile.FWHEAT: + case Tile.INDWHEAT: + case Tile.INDFWHEAT: this.costFieldMap.set(x, y, BaseTool.WHEAT_COST); break; - case Tile.ORCHARD : - case Tile.FORCHARD : + case Tile.ORCHARD: + case Tile.FORCHARD: + case Tile.INDORCHARD: + case Tile.INDFORCHARD: this.costFieldMap.set(x, y, BaseTool.ORCHARD_COST); break; - case Tile.POTATO : - case Tile.FPOTATO : + case Tile.POTATO: + case Tile.FPOTATO: + case Tile.INDPOTATO: + case Tile.INDFPOTATO: this.costFieldMap.set(x, y, BaseTool.POTATO_COST); break; default: break; } diff --git a/src/tile.js b/src/tile.js index 02efe48..dbbaa55 100644 --- a/src/tile.js +++ b/src/tile.js @@ -510,25 +510,32 @@ Tile.NUKESWIRL4 = 955; Tile.FIELDBASE = 956;//Tile.RESBASE; // Empty field, tiles Tile.FREEF = 960; //Tile.FREEZ; // center-tile of 3x3 empty field +Tile.CORN = 965; +Tile.FCORN = 966; +Tile.WHEAT = 967; +Tile.FWHEAT = 968; +Tile.ORCHARD = 969; +Tile.FORCHARD = 970; +Tile.POTATO = 971; +Tile.FPOTATO = 972; + Tile.FZB = 975; // center tile first 3x3 tile field //INDIE field zone tiles -Tile.INDFIELDBASE = 965; // Empty field, tiles -Tile.FREEINDF = 969; //Tile.FREEZ; // center-tile of 3x3 empty field +Tile.INDFIELDBASE = 973; // Empty field, tiles +Tile.FREEINDF = 977; //Tile.FREEZ; // center-tile of 3x3 empty field -Tile.INDFZB = 975; // center tile first 3x3 tile field - -// crops tiles - -Tile.CORN = 974; -Tile.FCORN = 975; -Tile.WHEAT = 976; -Tile.FWHEAT = 977; -Tile.ORCHARD = 978; -Tile.FORCHARD = 979; -Tile.POTATO = 980; -Tile.FPOTATO = 981; +Tile.INDFZB = 975; // center tile first 3x3 tile field + +Tile.INDCORN = 982; +Tile.INDFCORN = 983; +Tile.INDWHEAT = 984; +Tile.INDFWHEAT = 985; +Tile.INDORCHARD = 986; +Tile.INDFORCHARD = 987; +Tile.INDPOTATO = 988; +Tile.INDFPOTATO = 989; // Extended zones: 956-1019 diff --git a/src/tileUtils.js b/src/tileUtils.js index 548b925..f85c7b7 100644 --- a/src/tileUtils.js +++ b/src/tileUtils.js @@ -84,8 +84,7 @@ var isResidentialZone = function(tile) { var isField = unwrapTile(function(tile) { - return (tile >= Tile.FIELDBASE && tile <= Tile.FIELDBASE+8) || - (tile >= Tile.CORN && tile <= Tile.FPOTATO); + return (tile >= Tile.FIELDBASE && tile <= Tile.FPOTATO); }); @@ -94,9 +93,7 @@ var isFieldZone = function(tile) { }; var isIndField = unwrapTile(function(tile) { - return (tile >= Tile.INDFIELDBASE && tile <= Tile.INDFIELDBASE+8) || - (tile == Tile.CORN) || (tile == Tile.WHEAT) - || (tile == Tile.ORCHARD)|| (tile == Tile.POTATO) + return (tile >= Tile.INDFIELDBASE && tile <= Tile.INDFPOTATO) }); From 1c51e073c21d599a397d0308762073e46c806997 Mon Sep 17 00:00:00 2001 From: capatommy Date: Mon, 12 Oct 2020 16:13:16 +0200 Subject: [PATCH 34/41] increment indfieldzonepop --- src/indiefield.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/indiefield.js b/src/indiefield.js index 96baf2a..efcb669 100644 --- a/src/indiefield.js +++ b/src/indiefield.js @@ -210,7 +210,7 @@ var indfieldFound = function(map, x, y, simData) { var lpValue; // Notify the census - simData.census.fieldZonePop += 1; + simData.census.indfieldZonePop += 1; var tile = map.getTileValue(x, y); var cost = simData.powerManager.costFieldMap.get(x, y); switch(cost){ From eb1cbb35ca4e99f8f01fe649ae66768ffbad233c Mon Sep 17 00:00:00 2001 From: capatommy Date: Tue, 13 Oct 2020 16:55:05 +0200 Subject: [PATCH 35/41] little fixes --- src/field.js | 21 +-------------------- src/indiefield.js | 3 ++- 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/src/field.js b/src/field.js index 4451757..552b7f8 100644 --- a/src/field.js +++ b/src/field.js @@ -32,7 +32,7 @@ var getFreeZonePopulation = function(map, x, y, tileValue) { for (var yy = y - 1; yy <= y + 1; yy++) { if (xx === x && yy === y) continue; tileValue = map.getTileValue(xx, yy); - if (tileValue >= Tile.FFARM && tileValue <= Tile.LFARM) + if (tileValue >= Tile.FCORN && tileValue <= Tile.FPOTATO) count += 1; } } @@ -244,25 +244,6 @@ var fieldFound = function(map, x, y, simData) { } else{ tile = Tile.FREEF; - /* switch(tile){ - case Tile.CORN: - tile = Tile.FCORN; - break; - - case Tile.WHEAT: - tile = Tile.FWHEAT; - break; - - case Tile.ORCHARD: - tile = Tile.FORCHARD; - break; - - case Tile.POTATO: - tile = Tile.FPOTATO; - break; - - default: break; - }*/ } map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); diff --git a/src/indiefield.js b/src/indiefield.js index efcb669..bd4b257 100644 --- a/src/indiefield.js +++ b/src/indiefield.js @@ -208,7 +208,7 @@ var indfieldFound = function(map, x, y, simData) { // If we choose to grow this zone, we will fill it with an index in the range 0-3 reflecting the land value and // pollution scores (higher is better). This is then used to select the variant to build var lpValue; - + var zoneIrrigate = false; // Notify the census simData.census.indfieldZonePop += 1; var tile = map.getTileValue(x, y); @@ -237,6 +237,7 @@ var indfieldFound = function(map, x, y, simData) { var tileValue = map.getTileValue(x, y); var population = getZonePopulation(map, x, y, tileValue); + simData.census.fieldPop += population; if(simData.budget.shouldDegradeField()){ From 5417719be34750b0f1429002a335c8d286aa462b Mon Sep 17 00:00:00 2001 From: Massimo Date: Tue, 13 Oct 2020 18:07:16 +0200 Subject: [PATCH 36/41] pop fix and other fixes in budget --- src/budget.js | 32 +++++++++++++++++--------------- src/census.js | 7 +++++-- src/evaluation.js | 2 +- src/field.js | 14 +++++++------- src/indiefield.js | 8 ++++---- 5 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/budget.js b/src/budget.js index 9b1d184..9ff12b6 100644 --- a/src/budget.js +++ b/src/budget.js @@ -68,7 +68,7 @@ var Budget = EventEmitter(function() { var saveProps = ['autoBudget', 'totalFunds', 'policePercent', 'roadPercent', 'firePercent','fieldPercent', 'roadSpend', 'policeSpend', 'fireSpend','fieldSpend', 'roadMaintenanceBudget', 'policeMaintenanceBudget', - 'fireMaintenanceBudget','fieldMintenanceBudget', 'cityTax','fieldEffect', 'roadEffect', 'policeEffect', 'fireEffect']; + 'fireMaintenanceBudget','fieldMaintenanceBudget', 'cityTax','fieldEffect', 'roadEffect', 'policeEffect', 'fireEffect']; Budget.prototype.save = function(saveData) { for (var i = 0, l = saveProps.length; i < l; i++) @@ -127,12 +127,6 @@ Budget.prototype._calculateBestPercentages = function() { var cashRemaining = this.totalFunds + this.taxFund; // Spending priorities: road, fire, police - if (cashRemaining >= this.fieldSpend) - fieldCost = this.fieldSpend; - else - fieldCost = cashRemaining; - cashRemaining -= fieldCost; - if (cashRemaining >= this.roadSpend) roadCost = this.roadSpend; else @@ -151,10 +145,12 @@ Budget.prototype._calculateBestPercentages = function() { policeCost = cashRemaining; cashRemaining -= policeCost; - if (this.fieldMaintenanceBudget > 0) - this.fieldPercent = (fieldCost / this.fieldMaintenanceBudget).toPrecision(2) - 0; -else - this.fieldPercent = 1; + if (cashRemaining >= this.fieldSpend) + fieldCost = this.fieldSpend; + else + fieldCost = cashRemaining; + cashRemaining -= fieldCost; + if (this.roadMaintenanceBudget > 0) this.roadPercent = (roadCost / this.roadMaintenanceBudget).toPrecision(2) - 0; @@ -171,6 +167,11 @@ else else this.policePercent = 1; + if (this.fieldMaintenanceBudget > 0) + this.fieldPercent = (fieldCost / this.fieldMaintenanceBudget).toPrecision(2) - 0; + else + this.fieldPercent = 1; + return {road: roadCost, police: policeCost, fire: fireCost, field: fieldCost}; }; @@ -240,9 +241,6 @@ Budget.prototype.updateFundEffects = function() { this.fireEffect = this.MAX_FIRESTATION_EFFECT; this.fieldEffect = this.MAX_FIELD_EFFECT; - if (this.fieldMaintenanceBudget > 0) - this.fieldEffect = Math.floor(this.fieldEffect * this.fieldSpend / this.fieldMaintenanceBudget); - if (this.roadMaintenanceBudget > 0) this.roadEffect = Math.floor(this.roadEffect * this.roadSpend / this.roadMaintenanceBudget); @@ -251,6 +249,10 @@ Budget.prototype.updateFundEffects = function() { if (this.policeMaintenanceBudget > 0) this.policeEffect = Math.floor(this.policeEffect * this.policeSpend / this.policeMaintenanceBudget); + + if (this.fieldMaintenanceBudget > 0) + this.fieldEffect = Math.floor(this.fieldEffect * this.fieldSpend / this.fieldMaintenanceBudget); + }; @@ -274,10 +276,10 @@ Budget.prototype.collectTax = function(gameLevel, census) { } else { // We don't want roads etc deteriorating when population hasn't yet been established // (particularly early game) - this.fieldEffect = this.MAX_FIELD_EFFECT; this.roadEffect = this.MAX_ROAD_EFFECT; this.policeEffect = this.MAX_POLICESTATION_EFFECT; this.fireEffect = this.MAX_FIRESTATION_EFFECT; + this.fieldEffect = this.MAX_FIELD_EFFECT; } }; diff --git a/src/census.js b/src/census.js index 32b0dc2..48ccfa2 100644 --- a/src/census.js +++ b/src/census.js @@ -9,7 +9,7 @@ import { MiscUtils } from './miscUtils'; -var arrs = ['res', 'field', 'com', 'ind', 'crime', +var arrs = ['res', 'field', 'indfield', 'com', 'ind', 'crime', 'money', 'pollution']; function Census() { this.clearCensus(); @@ -64,6 +64,7 @@ Census.prototype.clearCensus = function() { this.railTotal = 0; this.resPop = 0; this.fieldPop = 0; + this.indfieldPop = 0; this.comPop = 0; this.indPop = 0; this.resZonePop = 0; @@ -84,7 +85,7 @@ Census.prototype.clearCensus = function() { }; -var saveProps = ['resPop', 'fieldPop', 'comPop', 'indPop', 'crimeRamp', 'pollutionRamp', 'landValueAverage', +var saveProps = ['resPop', 'fieldPop', 'indfieldpop', 'comPop', 'indPop', 'crimeRamp', 'pollutionRamp', 'landValueAverage', 'pollutionAverage', 'crimeAverage', 'totalPop', 'resHist10', 'resHist120', 'fieldHist10', 'fieldHist120', 'comHist10', 'comHist120', 'indHist10', 'indHist120', 'crimeHist10', 'crimeHist120', 'moneyHist10', 'moneyHist120', 'pollutionHist10', 'pollutionHist120']; @@ -108,6 +109,7 @@ Census.prototype.take10Census = function(budget) { this.resHist10[0] = Math.floor(this.resPop / resPopDenom); this.fieldHist10[0] = Math.floor(this.fieldPop / resPopDenom); + this.indfieldHist10[0] = Math.floor(this.indfieldPop / resPopDenom); this.comHist10[0] = this.comPop; this.indHist10[0] = this.indPop; @@ -139,6 +141,7 @@ Census.prototype.take120Census = function() { this.resHist120[0] = Math.floor(this.resPop / resPopDenom); this.fieldHist120[0] = Math.floor(this.fieldPop / resPopDenom); + this.indfieldHist120[0] = Math.floor(this.indfieldPop / resPopDenom); this.comHist120[0] = this.comPop; this.indHist120[0] = this.indPop; this.crimeHist120[0] = this.crimeHist10[0]; diff --git a/src/evaluation.js b/src/evaluation.js index d7469d1..11ff2c8 100644 --- a/src/evaluation.js +++ b/src/evaluation.js @@ -99,7 +99,7 @@ Evaluation.prototype.getAssessedValue = function(census) { Evaluation.prototype.getPopulation = function(census) { var oldPopulation = this.cityPop; - this.cityPop = (census.resPop + census.fieldPop + (census.comPop + census.indPop) * 8) * 20; + this.cityPop = (census.resPop + census.fieldPop*3 + census.indfieldPop/2 + (census.comPop + census.indPop) * 8) * 20; this.cityPopDelta = this.cityPop - oldPopulation; if (this.cityPopDelta !== 0) diff --git a/src/field.js b/src/field.js index 552b7f8..8ef3f9d 100644 --- a/src/field.js +++ b/src/field.js @@ -20,7 +20,7 @@ import { ZoneUtils } from './zoneUtils'; // increasing order of land value, cycling through each population value var placeField = function(map, x, y, population, lpValue, zoneIrrigate) { var centreTile = ((lpValue * 4) + population) * 9 + Tile.FZB; - this.zonePower = false; // dava errore se non dichiarato + var zonePower = false; // dava errore se non dichiarato ZoneUtils.putZone(map, x, y, centreTile, zonePower, zoneIrrigate); }; @@ -30,9 +30,9 @@ var getFreeZonePopulation = function(map, x, y, tileValue) { var count = 0; for (var xx = x - 1; xx <= x + 1; xx++) { for (var yy = y - 1; yy <= y + 1; yy++) { - if (xx === x && yy === y) continue; + // if (xx === x && yy === y) continue; tileValue = map.getTileValue(xx, yy); - if (tileValue >= Tile.FCORN && tileValue <= Tile.FPOTATO) + if (tileValue >= Tile.CORN && tileValue <= Tile.POTATO) count += 1; } } @@ -45,7 +45,7 @@ var getZonePopulation = function(map, x, y, tileValue) { if (tileValue instanceof Tile) tileValue = tile.getValue(); - if (tileValue === Tile.FREEF) + if (tileValue === Tile.FREEF || (tileValue >= Tile.CORN && tileValue <= Tile.POTATO)) return getFreeZonePopulation(map, x, y, tileValue); var populationIndex = Math.floor((tileValue - Tile.FZB) / 9) % 4 + 1; @@ -216,8 +216,8 @@ var fieldFound = function(map, x, y, simData) { var zoneIrrigate = map.getTile(x, y).isIrrigated(); var prevTile = map.getTileValue(x-1, y); var cost=0; - if( prevTile !== (Tile.FREEINDF-1)) - { + //if( prevTile !== (Tile.FREEINDF-1)) + //{ if(zoneIrrigate) { // Notify the census simData.census.fieldZonePop += 1; @@ -264,7 +264,7 @@ var fieldFound = function(map, x, y, simData) { growZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); return; } - } + //} } diff --git a/src/indiefield.js b/src/indiefield.js index bd4b257..81aac4e 100644 --- a/src/indiefield.js +++ b/src/indiefield.js @@ -29,9 +29,9 @@ var getFreeZonePopulation = function(map, x, y, tileValue) { var count = 0; for (var xx = x - 1; xx <= x + 1; xx++) { for (var yy = y - 1; yy <= y + 1; yy++) { - if (xx === x && yy === y) continue; +// if (xx === x && yy === y) continue; tileValue = map.getTileValue(xx, yy); - if (tileValue >= Tile.FINDFARM && tileValue <= Tile.LINDFARM) + if (tileValue >= Tile.INDCORN && tileValue <= Tile.INDPOTATO) count += 1; } } @@ -44,7 +44,7 @@ var getZonePopulation = function(map, x, y, tileValue) { if (tileValue instanceof Tile) tileValue = tile.getValue(); - if (tileValue === Tile.FREEINDF) + if (tileValue === Tile.FREEINDF || tileValue >= Tile.INDCORN && tileValue <= Tile.INDPOTATO) return getFreeZonePopulation(map, x, y, tileValue); var populationIndex = Math.floor((tileValue - Tile.INDFZB) / 9) % 4 + 1; @@ -238,7 +238,7 @@ var indfieldFound = function(map, x, y, simData) { var tileValue = map.getTileValue(x, y); var population = getZonePopulation(map, x, y, tileValue); - simData.census.fieldPop += population; + simData.census.indfieldPop += population; if(simData.budget.shouldDegradeField()){ if (Random.getChance(511)) { From 7cfa5c221e42871eefbfb162aa215df711c1bd9b Mon Sep 17 00:00:00 2001 From: capatommy Date: Wed, 14 Oct 2020 10:33:01 +0200 Subject: [PATCH 37/41] added degrade an grow --- src/field.js | 96 +++++++++++++++++++++++------- src/{indiefield.js => indfield.js} | 86 +++++++++++++++++++++----- src/simulation.js | 2 +- 3 files changed, 146 insertions(+), 38 deletions(-) rename src/{indiefield.js => indfield.js} (85%) diff --git a/src/field.js b/src/field.js index 8ef3f9d..d182e88 100644 --- a/src/field.js +++ b/src/field.js @@ -18,8 +18,8 @@ import { ZoneUtils } from './zoneUtils'; // Field tiles have 'populations' of 16, 24, 32 or 40, and value from 0 to 3. The tiles are laid out in // increasing order of land value, cycling through each population value -var placeField = function(map, x, y, population, lpValue, zoneIrrigate) { - var centreTile = ((lpValue * 4) + population) * 9 + Tile.FZB; +var placeField = function(map, x, y, population, lpValue, zoneIrrigate, centreTile) { + //var centreTile = ((lpValue * 4) + population) * 9 + Tile.FZB; var zonePower = false; // dava errore se non dichiarato ZoneUtils.putZone(map, x, y, centreTile, zonePower, zoneIrrigate); }; @@ -120,7 +120,36 @@ var growZone = function(map, x, y, blockMaps, population, lpValue, zoneIrrigate) var tileValue = map.getTileValue(x, y); - if (tileValue === Tile.FREEF) { + switch(tileValue){ + case Tile.FCORN: + tileValue = Tile.CORN; + placeField(map, x, y, 0, lpValue, zoneIrrigate, tileValue); + break; + + case Tile.FWHEAT: + tileValue = Tile.WHEAT; + placeField(map, x, y, 0, lpValue, zoneIrrigate, tileValue); + break; + + case Tile.FORCHARD: + tileValue = Tile.ORCHARD; + placeField(map, x, y, 0, lpValue, zoneIrrigate, tileValue); + break; + + case Tile.FPOTATO: + tileValue = Tile.POTATO; + placeField(map, x, y, 0, lpValue, zoneIrrigate, tileValue); + break; + + default: + return; + + } + + return; + + /*if (tileValue === Tile.FREEF) { + if (population < 8) { // Zone capacity not yet reached: build another farm buildFarm(map, x, y, lpValue); @@ -132,21 +161,44 @@ var growZone = function(map, x, y, blockMaps, population, lpValue, zoneIrrigate) } return; - } + }*/ - if (population < 40) { - // Zone population not yet maxed out - placeField(map, x, y, Math.floor(population / 8) - 1, lpValue, zoneIrrigate); - ZoneUtils.incRateOfGrowth(blockMaps, x, y, 8); - } }; -var freeZone = [0, 3, 6, 1, 4, 7, 2, 5, 8]; +//var freeZone = [0, 3, 6, 1, 4, 7, 2, 5, 8]; var degradeZone = function(map, x, y, blockMaps, population, lpValue, zoneIrrigate) { - var xx, yy; - if (population === 0) + //var xx, yy; + var tileValue = map.getTileValue(x, y); + + switch(tileValue){ + case Tile.CORN: + tileValue = Tile.FCORN; + map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + break; + + case Tile.WHEAT: + tileValue = Tile.FWHEAT; + map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + break; + + case Tile.ORCHARD: + tileValue = Tile.FORCHARD; + map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + break; + + case Tile.POTATO: + tileValue = Tile.FPOTATO; + map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + break; + + } + + return; + + + /*if (population === 0) return; if (population > 16) { @@ -169,7 +221,7 @@ var degradeZone = function(map, x, y, blockMaps, population, lpValue, zoneIrriga ZoneUtils.incRateOfGrowth(blockMaps, x, y, -8); return; - } + } // Already down to individual farms. Remove one var i = 0; @@ -184,7 +236,7 @@ var degradeZone = function(map, x, y, blockMaps, population, lpValue, zoneIrriga return; } } - } + }*/ }; @@ -214,8 +266,8 @@ var fieldFound = function(map, x, y, simData) { var tile = map.getTileValue(x, y); var zoneIrrigate = map.getTile(x, y).isIrrigated(); - var prevTile = map.getTileValue(x-1, y); - var cost=0; + //var prevTile = map.getTileValue(x-1, y); + var cost = 0; //if( prevTile !== (Tile.FREEINDF-1)) //{ if(zoneIrrigate) { @@ -248,10 +300,12 @@ var fieldFound = function(map, x, y, simData) { map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); - var tileValue = map.getTileValue(x, y); - var population = getZonePopulation(map, x, y, tileValue); - simData.census.fieldPop += population; - + //var tileValue = map.getTileValue(x, y); + //var population = getZonePopulation(map, x, y, tileValue); + //simData.census.fieldPop += population; + + var population = 0; + if(tile != Tile.FREEF) { if(simData.budget.shouldDegradeField()){ if (Random.getChance(511)) { lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); @@ -266,7 +320,7 @@ var fieldFound = function(map, x, y, simData) { } //} } - +} // Also, notify the census of our population diff --git a/src/indiefield.js b/src/indfield.js similarity index 85% rename from src/indiefield.js rename to src/indfield.js index 81aac4e..a221287 100644 --- a/src/indiefield.js +++ b/src/indfield.js @@ -17,8 +17,8 @@ import { BaseTool } from './baseTool'; // Field tiles have 'populations' of 16, 24, 32 or 40, and value from 0 to 3. The tiles are laid out in // increasing order of land value, cycling through each population value -var placeIndField = function(map, x, y, population, lpValue) { - var centreTile = ((lpValue * 4) + population) * 9 + Tile.INDFZB; +var placeIndField = function(map, x, y, population, lpValue, zoneIrrigate, centreTile) { + //var centreTile = ((lpValue * 4) + population) * 9 + Tile.INDFZB; ZoneUtils.putZone(map, x, y, centreTile, zonePower, zoneIrrigate); }; @@ -119,7 +119,33 @@ var growZone = function(map, x, y, blockMaps, population, lpValue) { var tileValue = map.getTileValue(x, y); - if (tileValue === Tile.FREEINDF) { + switch(tileValue){ + case Tile.INDFCORN: + tileValue = Tile.INDCORN; + placeIndField(map, x, y, 0, lpValue, zoneIrrigate, tileValue); + break; + + case Tile.INDFWHEAT: + tileValue = Tile.INDWHEAT; + placeIndField(map, x, y, 0, lpValue, zoneIrrigate, tileValue); + break; + + case Tile.INDFORCHARD: + tileValue = Tile.INDORCHARD; + placeIndField(map, x, y, 0, lpValue, zoneIrrigate, tileValue); + break; + + case Tile.INDFPOTATO: + tileValue = Tile.INDPOTATO; + placeIndField(map, x, y, 0, lpValue, zoneIrrigate, tileValue); + break; + + default: + return; + + } + + /*if (tileValue === Tile.FREEINDF) { if (population < 8) { // Zone capacity not yet reached: build another farm buildIndFarm(map, x, y, lpValue); @@ -137,14 +163,42 @@ var growZone = function(map, x, y, blockMaps, population, lpValue) { // Zone population not yet maxed out placeField(map, x, y, Math.floor(population / 8) - 1, lpValue); ZoneUtils.incRateOfGrowth(blockMaps, x, y, 8); - } + }*/ }; var freeZone = [0, 3, 6, 1, 4, 7, 2, 5, 8]; var degradeZone = function(map, x, y, blockMaps, population, lpValue) { - var xx, yy; + + var tileValue = map.getTileValue(x, y); + + switch(tileValue){ + case Tile.INDCORN: + tileValue = Tile.INDFCORN; + map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + break; + + case Tile.INDWHEAT: + tileValue = Tile.INDFWHEAT; + map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + break; + + case Tile.INDORCHARD: + tileValue = Tile.INDFORCHARD; + map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + break; + + case Tile.INDPOTATO: + tileValue = Tile.INDFPOTATO; + map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + break; + + } + + return; + + /*var xx, yy; if (population === 0) return; @@ -183,7 +237,7 @@ var degradeZone = function(map, x, y, blockMaps, population, lpValue) { return; } } - } + }*/ }; @@ -235,9 +289,9 @@ var indfieldFound = function(map, x, y, simData) { map.setTile(x, y, tile, Tile.BLBNHYBIT | Tile.ZONEBIT); - var tileValue = map.getTileValue(x, y); - var population = getZonePopulation(map, x, y, tileValue); - + //var tileValue = map.getTileValue(x, y); + //var population = getZonePopulation(map, x, y, tileValue); + var population = 0; simData.census.indfieldPop += population; if(simData.budget.shouldDegradeField()){ @@ -248,9 +302,9 @@ var indfieldFound = function(map, x, y, simData) { } }else{ if(Random.getChance(511)){ - lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); - growZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); - return; + lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); + growZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); + return; } } @@ -318,7 +372,7 @@ var indfieldFound = function(map, x, y, simData) { }; -var makeHospital = function(map, x, y, simData) { /////////////////analogia? +/*var makeHospital = function(map, x, y, simData) { /////////////////analogia? // We only build a hospital if the population requires it if (simData.census.needHospital > 0) { ZoneUtils.putZone(map, x, y, Tile.HOSPITAL, zonePower, zoneIrrigate); @@ -336,14 +390,14 @@ var hospitalFound = function(map, x, y, simData) { ///////////////////////////// if (Random.getRandom(20) === 0) ZoneUtils.putZone(map, x, y, Tile.FREE, map.getTile(x, y).isPowered(), map.getTile(x, y).isIrrigated()); } -}; +};*/ var IndField = { registerHandlers: function(mapScanner, repairManager) { mapScanner.addAction(TileUtils.isIndFieldZone, indfieldFound); - mapScanner.addAction(TileUtils.HOSPITAL, hospitalFound); /////////////////// - repairManager.addAction(Tile.HOSPITAL, 15, 3); ////////////////// + /*mapScanner.addAction(TileUtils.HOSPITAL, hospitalFound); /////////////////// + repairManager.addAction(Tile.HOSPITAL, 15, 3); */ }, getZonePopulation: getZonePopulation }; diff --git a/src/simulation.js b/src/simulation.js index 01d0827..0ef2ae0 100644 --- a/src/simulation.js +++ b/src/simulation.js @@ -25,7 +25,7 @@ import { PowerManager } from './powerManager'; import { RepairManager } from './repairManager'; import { Residential } from './residential'; import { Field } from './field'; -import { IndField } from './indiefield' +import { IndField } from './indfield' import { Road } from './road'; import { SpriteManager } from './spriteManager'; import { Stadia } from './stadia'; From bdbc8035bfafcea6d0a7c507ceb0e1096db9d53a Mon Sep 17 00:00:00 2001 From: capatommy Date: Wed, 14 Oct 2020 13:04:45 +0200 Subject: [PATCH 38/41] solving degrade --- src/budget.js | 2 +- src/evaluation.js | 10 +++++----- src/field.js | 30 ++++++++++++++---------------- src/indfield.js | 36 ++++++++---------------------------- src/valves.js | 45 ++++++++++++++++++++++----------------------- 5 files changed, 50 insertions(+), 73 deletions(-) diff --git a/src/budget.js b/src/budget.js index 9ff12b6..d6fd131 100644 --- a/src/budget.js +++ b/src/budget.js @@ -314,7 +314,7 @@ Budget.prototype.shouldDegradeRoad = function() { }; Budget.prototype.shouldDegradeField = function() { - return this.fieldEffect < Math.floor(15 * this.MAX_FIELD_EFFECT / 16); + return this.fieldEffect < Math.floor(15 * this.MAX_FIELD_EFFECT / 25); }; diff --git a/src/evaluation.js b/src/evaluation.js index 11ff2c8..dde58e3 100644 --- a/src/evaluation.js +++ b/src/evaluation.js @@ -99,7 +99,7 @@ Evaluation.prototype.getAssessedValue = function(census) { Evaluation.prototype.getPopulation = function(census) { var oldPopulation = this.cityPop; - this.cityPop = (census.resPop + census.fieldPop*3 + census.indfieldPop/2 + (census.comPop + census.indPop) * 8) * 20; + this.cityPop = (census.resPop + /*census.fieldPop*3 + census.indfieldPop/2*/ + (census.comPop + census.indPop) * 8) * 20; this.cityPopDelta = this.cityPop - oldPopulation; if (this.cityPopDelta !== 0) @@ -248,8 +248,8 @@ Evaluation.prototype.getScore = function(simData) { if (valves.resCap) score = Math.round(score * demandPenalty); - if (valves.fieldCap) - score = Math.round(score * demandPenalty); + /*if (valves.fieldCap) + score = Math.round(score * demandPenalty);*/ if (valves.comCap) score = Math.round(score * demandPenalty); @@ -276,8 +276,8 @@ Evaluation.prototype.getScore = function(simData) { if (valves.resValve < -1000) score = Math.round(score * 0.85); - if (valves.fieldValve < -1000) - score = Math.round(score * 0.85); + /*if (valves.fieldValve < -1000) + score = Math.round(score * 0.85);*/ if (valves.comValve < -1000) score = Math.round(score * 0.85); diff --git a/src/field.js b/src/field.js index d182e88..5426a9c 100644 --- a/src/field.js +++ b/src/field.js @@ -21,7 +21,8 @@ import { ZoneUtils } from './zoneUtils'; var placeField = function(map, x, y, population, lpValue, zoneIrrigate, centreTile) { //var centreTile = ((lpValue * 4) + population) * 9 + Tile.FZB; var zonePower = false; // dava errore se non dichiarato - ZoneUtils.putZone(map, x, y, centreTile, zonePower, zoneIrrigate); + tile = centreTile; + ZoneUtils.putZone(map, x, y, tile, zonePower, zoneIrrigate); }; @@ -171,28 +172,30 @@ var growZone = function(map, x, y, blockMaps, population, lpValue, zoneIrrigate) var degradeZone = function(map, x, y, blockMaps, population, lpValue, zoneIrrigate) { //var xx, yy; var tileValue = map.getTileValue(x, y); - switch(tileValue){ case Tile.CORN: tileValue = Tile.FCORN; - map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + map.setTile(x, y, tileValue, Tile.BLBNHYBIT | Tile.ZONEBIT); break; case Tile.WHEAT: tileValue = Tile.FWHEAT; - map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + map.setTile(x, y, tileValue, Tile.BLBNHYBIT | Tile.ZONEBIT); break; case Tile.ORCHARD: tileValue = Tile.FORCHARD; - map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + map.setTile(x, y, tileValue, Tile.BLBNHYBIT | Tile.ZONEBIT); break; case Tile.POTATO: tileValue = Tile.FPOTATO; - map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + map.setTile(x, y, tileValue, Tile.BLBNHYBIT | Tile.ZONEBIT); break; + default: + return; + } return; @@ -261,15 +264,10 @@ var fieldFound = function(map, x, y, simData) { // If we choose to grow this zone, we will fill it with an index in the range 0-3 reflecting the land value and // pollution scores (higher is better). This is then used to select the variant to build var lpValue; - - - var tile = map.getTileValue(x, y); var zoneIrrigate = map.getTile(x, y).isIrrigated(); - //var prevTile = map.getTileValue(x-1, y); + var cost = 0; - //if( prevTile !== (Tile.FREEINDF-1)) - //{ if(zoneIrrigate) { // Notify the census simData.census.fieldZonePop += 1; @@ -307,17 +305,17 @@ var fieldFound = function(map, x, y, simData) { var population = 0; if(tile != Tile.FREEF) { if(simData.budget.shouldDegradeField()){ - if (Random.getChance(511)) { + //if (Random.getChance(511)) { + //if(1){ lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); degradeZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); return; - } - }else{ + /*}else{ if(Random.getChance(511)){ lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); growZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); return; - } + }*/ //} } } diff --git a/src/indfield.js b/src/indfield.js index a221287..aca4ac9 100644 --- a/src/indfield.js +++ b/src/indfield.js @@ -176,22 +176,22 @@ var degradeZone = function(map, x, y, blockMaps, population, lpValue) { switch(tileValue){ case Tile.INDCORN: tileValue = Tile.INDFCORN; - map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + map.setTile(x, y, tileValue, Tile.BLBNHYBIT | Tile.ZONEBIT); break; case Tile.INDWHEAT: tileValue = Tile.INDFWHEAT; - map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + map.setTile(x, y, tileValue, Tile.BLBNHYBIT | Tile.ZONEBIT); break; case Tile.INDORCHARD: tileValue = Tile.INDFORCHARD; - map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + map.setTile(x, y, tileValue, Tile.BLBNHYBIT | Tile.ZONEBIT); break; case Tile.INDPOTATO: tileValue = Tile.INDFPOTATO; - map.setTile(x, y, tileValue, Tile.BLBNHYBIT); + map.setTile(x, y, tileValue, Tile.BLBNHYBIT | Tile.ZONEBIT); break; } @@ -295,18 +295,18 @@ var indfieldFound = function(map, x, y, simData) { simData.census.indfieldPop += population; if(simData.budget.shouldDegradeField()){ - if (Random.getChance(511)) { + //if (Random.getChance(511)) { lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); degradeZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); return; - } - }else{ + //} + }/*else{ if(Random.getChance(511)){ lpValue = ZoneUtils.getLandPollutionValue(simData.blockMaps, x, y); growZone(map, x, y, simData.blockMaps, population, lpValue, zoneIrrigate); return; } - } + }*/ /*var trafficOK = Traffic.ROUTE_FOUND; @@ -372,32 +372,12 @@ var indfieldFound = function(map, x, y, simData) { }; -/*var makeHospital = function(map, x, y, simData) { /////////////////analogia? - // We only build a hospital if the population requires it - if (simData.census.needHospital > 0) { - ZoneUtils.putZone(map, x, y, Tile.HOSPITAL, zonePower, zoneIrrigate); - simData.census.needHospital = 0; - return; - } -}; - -var hospitalFound = function(map, x, y, simData) { ////////////////////////////// - simData.census.hospitalPop += 1; - - // Degrade to an empty zone if a hospital is no longer sustainable - if (simData.census.needHospital === -1) { - if (Random.getRandom(20) === 0) - ZoneUtils.putZone(map, x, y, Tile.FREE, map.getTile(x, y).isPowered(), map.getTile(x, y).isIrrigated()); - } -};*/ var IndField = { registerHandlers: function(mapScanner, repairManager) { mapScanner.addAction(TileUtils.isIndFieldZone, indfieldFound); - /*mapScanner.addAction(TileUtils.HOSPITAL, hospitalFound); /////////////////// - repairManager.addAction(Tile.HOSPITAL, 15, 3); */ }, getZonePopulation: getZonePopulation }; diff --git a/src/valves.js b/src/valves.js index 711e572..fc0d451 100644 --- a/src/valves.js +++ b/src/valves.js @@ -13,18 +13,18 @@ import { MiscUtils } from './miscUtils'; var Valves = EventEmitter(function () { this.resValve = 0; - this.fieldValve = 0; + //this.fieldValve = 0; this.comValve = 0; this.indValve = 0; this.resCap = false; - this.fieldCap = false; + //this.fieldCap = false; this.comCap = false; this.indCap = false; }); var RES_VALVE_RANGE = 2000; -var FIELD_VALVE_RANGE = 2000; +//var FIELD_VALVE_RANGE = 2000; var COM_VALVE_RANGE = 1500; var IND_VALVE_RANGE = 1500; @@ -36,7 +36,7 @@ var extMarketParamTable = [1.2, 1.1, 0.98]; Valves.prototype.save = function(saveData) { saveData.resValve = this.resValve; - saveData.fieldValve = this.fieldValve; + //saveData.fieldValve = this.fieldValve; saveData.comValve = this.comValve; saveData.indValve = this.indValve; }; @@ -44,7 +44,7 @@ Valves.prototype.save = function(saveData) { Valves.prototype.load = function(saveData) { this.resValve = saveData.resValve; - this.fieldValve = saveData.fieldValve; + //this.fieldValve = saveData.fieldValve; this.comValve = saveData.comValve; this.indValve = saveData.indValve; @@ -60,8 +60,8 @@ Valves.prototype.setValves = function(gameLevel, census, budget) { var projectedIndPopMin = 5.0; var resRatioDefault = 1.3; var resRatioMax = 2; - var fieldRatioDefault = 1.3; - var fieldRatioMax = 2;1 + //var fieldRatioDefault = 1.3; + //var fieldRatioMax = 2;1 var comRatioMax = 2; var indRatioMax = 2; var taxMax = 20; @@ -70,27 +70,26 @@ Valves.prototype.setValves = function(gameLevel, census, budget) { // Residential zones scale their population index when reporting it to the census var normalizedResPop = census.resPop / resPopDenom; - var normalizedFieldPop = census.fieldPop / resPopDenom; //even field has 8 pos as respopdenom - census.totalPop = Math.round(normalizedResPop + normalizedFieldPop + census.comPop + census.indPop); + //var normalizedFieldPop = census.fieldPop / resPopDenom; //even field has 8 pos as respopdenom + //var normalizedFieldPop = 0; + census.totalPop = Math.round(normalizedResPop /*+ normalizedFieldPop*/ + census.comPop + census.indPop); // A lack of developed commercial and industrial and field zones means there are no employment opportunities, which constrain // growth. (This might hurt initially if, for example, the player lays out an initial grid, as the residential zones // will likely develop first, so the residential valve will immediately crater). - if (census.resPop > 0 || census.fieldPop > 0) - employment = (census.comHist10[1] + census.indHist10[1] + census.fieldHist10[1]) / (normalizedResPop + normalizedFieldPop); + if (census.resPop > 0 /*|| census.fieldPop > 0*/) + employment = (census.comHist10[1] + census.indHist10[1] /*+ census.fieldHist10[1]*/) / (normalizedResPop /*+ normalizedFieldPop*/); else employment = 1; // Given the employment rate, calculate expected migration, add in births, and project the new population. var migration = normalizedResPop * (employment - 1); - var migrationField= normalizedFieldPop * (employment - 1); var births = normalizedResPop * birthRate; var projectedResPop = normalizedResPop + migration + births; - var projectedFieldPop = normalizedFieldPop + migrationField + 0.15; //??????????? // Examine how many zones require workers - labourBase = census.comHist10[1] + census.indHist10[1] + census.fieldHist10[1]; + labourBase = census.comHist10[1] + census.indHist10[1] /*+ census.fieldHist10[1]*/; if (labourBase > 0.0) labourBase = census.resHist10[1] / labourBase; else @@ -99,7 +98,7 @@ Valves.prototype.setValves = function(gameLevel, census, budget) { // Project future industry and commercial needs, taking into account available labour, and competition from // other global cities - var internalMarket = (normalizedResPop + normalizedFieldPop + census.comPop + census.indPop) / internalMarketDenom; + var internalMarket = (normalizedResPop /*+ normalizedFieldPop*/ + census.comPop + census.indPop) / internalMarketDenom; var projectedComPop = internalMarket * labourBase; var projectedIndPop = census.indPop * labourBase * extMarketParamTable[gameLevel]; projectedIndPop = Math.max(projectedIndPop, projectedIndPopMin); @@ -111,11 +110,11 @@ Valves.prototype.setValves = function(gameLevel, census, budget) { else resRatio = resRatioDefault; - var fieldRatio; + /* var fieldRatio; if (normalizedFieldPop > 0) - fieldRatio = projectedFieldPop / normalizedFieldPop; // + fieldRatio = projectedFieldPop / normalizedFieldPop; else - fieldRatio = fieldRatioDefault; // + fieldRatio = fieldRatioDefault; */ var comRatio; if (census.comPop > 0) @@ -130,27 +129,27 @@ Valves.prototype.setValves = function(gameLevel, census, budget) { indRatio = projectedIndPop; resRatio = Math.min(resRatio, resRatioMax); - fieldRatio = Math.min(fieldRatio, fieldRatioMax); + //fieldRatio = Math.min(fieldRatio, fieldRatioMax); comRatio = Math.min(comRatio, comRatioMax); indRatio = Math.min(indRatio, indRatioMax); // Constrain growth according to the tax level. var z = Math.min((budget.cityTax + gameLevel), taxMax); resRatio = (resRatio - 1) * taxTableScale + taxTable[z]; - fieldRatio = (fieldRatio - 1) * taxTableScale + taxTable[z]; + // fieldRatio = (fieldRatio - 1) * taxTableScale + taxTable[z]; comRatio = (comRatio - 1) * taxTableScale + taxTable[z]; indRatio = (indRatio - 1) * taxTableScale + taxTable[z]; this.resValve = MiscUtils.clamp(this.resValve + Math.round(resRatio), -RES_VALVE_RANGE, RES_VALVE_RANGE); - this.fieldValve = MiscUtils.clamp(this.fieldValve + Math.round(fieldRatio), -FIELD_VALVE_RANGE, FIELD_VALVE_RANGE); + //this.fieldValve = MiscUtils.clamp(this.fieldValve + Math.round(fieldRatio), -FIELD_VALVE_RANGE, FIELD_VALVE_RANGE); this.comValve = MiscUtils.clamp(this.comValve + Math.round(comRatio), -COM_VALVE_RANGE, COM_VALVE_RANGE); this.indValve = MiscUtils.clamp(this.indValve + Math.round(indRatio), -IND_VALVE_RANGE, IND_VALVE_RANGE); if (this.resCap && this.resValve > 0) this.resValve = 0; - if (this.fieldCap && this.fieldValve > 0) - this.fieldValve = 0; + /*if (this.fieldCap && this.fieldValve > 0) + this.fieldValve = 0;*/ if (this.comCap && this.comValve > 0) this.comValve = 0; From cd8a0d66e00669ec31a123cec74e5843e6cb9af8 Mon Sep 17 00:00:00 2001 From: Massimo Date: Wed, 14 Oct 2020 13:24:02 +0200 Subject: [PATCH 39/41] comments to fix evaluation problem --- src/census.js | 12 ++++++------ src/evaluation.js | 2 +- src/simulation.js | 22 +++++++++++----------- src/tile.js | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/census.js b/src/census.js index 48ccfa2..59d6158 100644 --- a/src/census.js +++ b/src/census.js @@ -85,8 +85,8 @@ Census.prototype.clearCensus = function() { }; -var saveProps = ['resPop', 'fieldPop', 'indfieldpop', 'comPop', 'indPop', 'crimeRamp', 'pollutionRamp', 'landValueAverage', - 'pollutionAverage', 'crimeAverage', 'totalPop', 'resHist10', 'resHist120', 'fieldHist10', 'fieldHist120', 'comHist10', 'comHist120', +var saveProps = ['resPop', /*'fieldPop', 'indfieldpop',*/ 'comPop', 'indPop', 'crimeRamp', 'pollutionRamp', 'landValueAverage', + 'pollutionAverage', 'crimeAverage', 'totalPop', 'resHist10', 'resHist120', /*'fieldHist10', 'fieldHist120',*/ 'comHist10', 'comHist120', 'indHist10', 'indHist120', 'crimeHist10', 'crimeHist120', 'moneyHist10', 'moneyHist120', 'pollutionHist10', 'pollutionHist120']; @@ -108,8 +108,8 @@ Census.prototype.take10Census = function(budget) { rotate10Arrays.call(this); this.resHist10[0] = Math.floor(this.resPop / resPopDenom); - this.fieldHist10[0] = Math.floor(this.fieldPop / resPopDenom); - this.indfieldHist10[0] = Math.floor(this.indfieldPop / resPopDenom); + //this.fieldHist10[0] = Math.floor(this.fieldPop / resPopDenom); + // this.indfieldHist10[0] = Math.floor(this.indfieldPop / resPopDenom); this.comHist10[0] = this.comPop; this.indHist10[0] = this.indPop; @@ -140,8 +140,8 @@ Census.prototype.take120Census = function() { var resPopDenom = 8; this.resHist120[0] = Math.floor(this.resPop / resPopDenom); - this.fieldHist120[0] = Math.floor(this.fieldPop / resPopDenom); - this.indfieldHist120[0] = Math.floor(this.indfieldPop / resPopDenom); + //this.fieldHist120[0] = Math.floor(this.fieldPop / resPopDenom); + // this.indfieldHist120[0] = Math.floor(this.indfieldPop / resPopDenom); this.comHist120[0] = this.comPop; this.indHist120[0] = this.indPop; this.crimeHist120[0] = this.crimeHist10[0]; diff --git a/src/evaluation.js b/src/evaluation.js index dde58e3..9cdd368 100644 --- a/src/evaluation.js +++ b/src/evaluation.js @@ -83,7 +83,7 @@ Evaluation.prototype.getAssessedValue = function(census) { value = census.roadTotal * 5; value += census.railTotal * 10; value += census.policeStationPop * 1000; - value += census.fieldZonePop * 1000; + //value += census.fieldZonePop * 1000; value += census.fireStationPop * 1000; value += census.hospitalPop * 400; value += census.stadiumPop * 3000; diff --git a/src/simulation.js b/src/simulation.js index 0ef2ae0..43c25e2 100644 --- a/src/simulation.js +++ b/src/simulation.js @@ -416,10 +416,10 @@ Simulation.prototype._wrapMessage = function(message, data) { Simulation.prototype._sendMessages = function() { this._checkGrowth(); - var totalZonePop = this._census.resZonePop + this._census.fieldZonePop + this._census.comZonePop + + var totalZonePop = this._census.resZonePop + /*this._census.fieldZonePop*/ + this._census.comZonePop + this._census.indZonePop; var powerPop = this._census.nuclearPowerPop + this._census.coalPowerPop /*+ this._census.wwtpPowerPop*/; - var waterPop = this._census.wwtpPowerPop; + // var waterPop = this._census.wwtpPowerPop; switch (this._cityTime & 63) { case 1: @@ -427,11 +427,11 @@ Simulation.prototype._sendMessages = function() { this._emitEvent(Messages.FRONT_END_MESSAGE, {subject: Messages.NEED_MORE_RESIDENTIAL}); break; - case 4: + /* case 4: if (Math.floor(totalZonePop / 4) >= this._census.fieldZonePop) this._emitEvent(Messages.FRONT_END_MESSAGE, {subject: Messages.NEED_MORE_FIELD}); - break; - + break;*/ + case 8: if (Math.floor(totalZonePop / 8) >= this._census.comZonePop) this._emitEvent(Messages.FRONT_END_MESSAGE, {subject: Messages.NEED_MORE_COMMERCIAL}); @@ -456,11 +456,11 @@ Simulation.prototype._sendMessages = function() { if (totalZonePop > 10 && powerPop === 0) this._emitEvent(Messages.FRONT_END_MESSAGE, {subject: Messages.NEED_ELECTRICITY}); break; -//if there is no need to watering fields this case can be modified considering the field tiles value - case 24: + + /*case 24: if (totalZonePop > 10 && waterPop === 0) //wwtp request according popolation this._emitEvent(Messages.FRONT_END_MESSAGE, {subject: Messages.NEED_WATER}); - break; + break;*/ case 26: if (this._census.resPop > 500 && this._census.stadiumPop === 0) { @@ -489,7 +489,7 @@ Simulation.prototype._sendMessages = function() { } break; - case 32: //in census. fields are zone but not considered here. Field doesnt need elettricity? if not do not change + case 32: var zoneCount = this._census.unpoweredZoneCount + this._census.poweredZoneCount; if (zoneCount > 0) { if (this._census.poweredZoneCount / zoneCount < 0.7 && powerPop > 0) { @@ -605,12 +605,12 @@ Simulation.prototype._checkGrowth = function() { Simulation.prototype._onValveChange = function() { this._resLast = this._valves.resValve; - this._fieldLast = this._valves.fieldValve, + // this._fieldLast = this._valves.fieldValve, this._comLast = this._valves.comValve; this._indLast = this._valves.indValve; this._emitEvent(Messages.VALVES_UPDATED, {residential: this._valves.resValve, - field: this._valves.fieldValve, + //field: this._valves.fieldValve, commercial: this._valves.comValve, industrial: this._valves.indValve}); }; diff --git a/src/tile.js b/src/tile.js index dbbaa55..e155b52 100644 --- a/src/tile.js +++ b/src/tile.js @@ -314,7 +314,7 @@ Tile.LVTUBE9 = 235; Tile.LVTUBE10 = 236; Tile.HTUBEROAD = 237; // Horizontal tube road Tile.VTUBEROAD = 238; // Vertical tube road -Tile.TUBEBASE = Tile.HTUBE; +Tile.TUBEBASE = Tile.VTUBE; Tile.LASTTUBE = 238; /* Rail From 85d6a3cc0b2edfa279d227a18a534b44379dd52d Mon Sep 17 00:00:00 2001 From: capatommy <57175951+capatommy@users.noreply.github.com> Date: Wed, 14 Oct 2020 17:39:59 +0200 Subject: [PATCH 40/41] update buildingtool --- src/buildingTool.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/buildingTool.js b/src/buildingTool.js index d3a7e5b..027c71c 100644 --- a/src/buildingTool.js +++ b/src/buildingTool.js @@ -49,19 +49,19 @@ BuildingTool.prototype.putBuilding = function(leftX, topY) { { switch (c){ case BaseTool.CORN_COST: - tileValue = Tile.INDCORN; + tileValue = Tile.INDFCORN; break; case BaseTool.WHEAT_COST: - tileValue = Tile.INDWHEAT; + tileValue = Tile.INDFWHEAT; break; case BaseTool.ORCHARD_COST: - tileValue = Tile.INDORCHARD; + tileValue = Tile.INDFORCHARD; break; case BaseTool.POTATO_COST: - tileValue = Tile.INDPOTATO; + tileValue = Tile.INDFPOTATO; break; default: break; From 515ebe58b9f0205e02ffc586dd979bfbc73d941d Mon Sep 17 00:00:00 2001 From: Massimo Date: Wed, 14 Oct 2020 18:12:02 +0200 Subject: [PATCH 41/41] little fx comment --- src/census.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/census.js b/src/census.js index 59d6158..53a8a5b 100644 --- a/src/census.js +++ b/src/census.js @@ -9,7 +9,7 @@ import { MiscUtils } from './miscUtils'; -var arrs = ['res', 'field', 'indfield', 'com', 'ind', 'crime', +var arrs = ['res', /*'field', 'indfield',*/ 'com', 'ind', 'crime', 'money', 'pollution']; function Census() { this.clearCensus();