diff --git a/package-lock.json b/package-lock.json index 0ed0375..0be9359 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,1210 @@ { "name": "relaks-wordpress-example", - "version": "1.0.1", + "version": "2.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/compat-data": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.5.tgz", + "integrity": "sha512-jWYUqQX/ObOhG1UiEkbH5SANsE/8oKXiQWjj7p7xgj9Zmnt//aUvyz4dBkK0HNsS8/cbyC5NmmH87VekW+mXFg==", + "dev": true, + "requires": { + "browserslist": "^4.8.5", + "invariant": "^2.2.4", + "semver": "^5.5.0" + }, + "dependencies": { + "browserslist": { + "version": "4.8.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.7.tgz", + "integrity": "sha512-gFOnZNYBHrEyUML0xr5NJ6edFaaKbTFX9S9kQHlYfCP0Rit/boRIz4G+Avq6/4haEKJXdGGUnoolx+5MWW2BoA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001027", + "electron-to-chromium": "^1.3.349", + "node-releases": "^1.1.49" + } + }, + "caniuse-lite": { + "version": "1.0.30001027", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz", + "integrity": "sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.352", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.352.tgz", + "integrity": "sha512-dL/RyoueFG3UMhG0q3weAQvr+Tbqx/axAnOXYIIOsoYnV+2i+nRvX2S6msEo2+JARbBP8MFkkSYQ8AoY9Bh4Og==", + "dev": true + } + } + }, + "@babel/core": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz", + "integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.4", + "@babel/helpers": "^7.8.4", + "@babel/parser": "^7.8.4", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "json5": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz", + "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", + "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", + "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz", + "integrity": "sha512-JT8mfnpTkKNCboTqZsQTdGo3l3Ik3l7QIt9hh0O9DYiwVel37VoJpILKM4YFbP2euF32nkQSb+F9cUk9b7DDXQ==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz", + "integrity": "sha512-6Q05px0Eb+N4/GTyKPPvnkig7Lylw+QzihMpws9iiZQv7ZImf84ZsZpQH7QoWN4n4tm81SnSzPgHw2qtO0Zf3A==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz", + "integrity": "sha512-3k3BsKMvPp5bjxgMdrFyq0UaEO48HciVrOVF0+lon8pp95cyJ2ujAh0TrBHNMnJGT2rr0iKOJPFFbSqjDyf/Pg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.8.4", + "browserslist": "^4.8.5", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + }, + "dependencies": { + "browserslist": { + "version": "4.8.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.7.tgz", + "integrity": "sha512-gFOnZNYBHrEyUML0xr5NJ6edFaaKbTFX9S9kQHlYfCP0Rit/boRIz4G+Avq6/4haEKJXdGGUnoolx+5MWW2BoA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001027", + "electron-to-chromium": "^1.3.349", + "node-releases": "^1.1.49" + } + }, + "caniuse-lite": { + "version": "1.0.30001027", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz", + "integrity": "sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.352", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.352.tgz", + "integrity": "sha512-dL/RyoueFG3UMhG0q3weAQvr+Tbqx/axAnOXYIIOsoYnV+2i+nRvX2S6msEo2+JARbBP8MFkkSYQ8AoY9Bh4Og==", + "dev": true + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz", + "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==", + "dev": true, + "requires": { + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.6.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "regjsgen": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "dev": true + }, + "regjsparser": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz", + "integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "@babel/helper-define-map": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", + "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", + "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "dev": true, + "requires": { + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", + "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", + "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-transforms": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz", + "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", + "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", + "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-wrap-function": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz", + "integrity": "sha512-xOUssL6ho41U81etpLoT2RTdvdus4VfHamCuAm4AHxGr+0it5fnwoVdwUJ7GFEqCsQYzJUhcbsN9wB9apcYKFA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-simple-access": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "dev": true, + "requires": { + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-wrap-function": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", + "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helpers": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", + "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "dev": true, + "requires": { + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + } + } + }, + "@babel/parser": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz", + "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", + "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", + "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", + "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz", + "integrity": "sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", + "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz", + "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", + "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", + "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", + "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", + "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", + "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz", + "integrity": "sha512-SjT0cwFJ+7Rbr1vQsvphAHwUHvSUPmMjMU/0P59G8U2HLFqSa082JO7zkbDNWs9kH/IUqpHI6xWNesGf8haF1w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-define-map": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", + "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz", + "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", + "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", + "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", + "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.4.tgz", + "integrity": "sha512-iAXNlOWvcYUYoV8YIxwS7TxGRJcxyl8eQCfT+A5j8sKUzRFvJdcyjp97jL2IghWSRDaL2PU2O2tX8Cu9dTBq5A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", + "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", + "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", + "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", + "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", + "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", + "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", + "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", + "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", + "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.4.tgz", + "integrity": "sha512-IsS3oTxeTsZlE5KqzTbcC2sV0P9pXdec53SU+Yxv7o/6dvGM5AkTotQKhoSffhNgZ/dftsSiOoxy7evCYJXzVA==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.8.3", + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", + "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", + "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz", + "integrity": "sha512-r0h+mUiyL595ikykci+fbwm9YzmuOrUBi0b+FDIKmi3fPQyFokWVEMJnRWHJPPQEjyFJyna9WZC6Viv6UHSv1g==", + "dev": true, + "requires": { + "@babel/helper-builder-react-jsx": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.8.3.tgz", + "integrity": "sha512-01OT7s5oa0XTLf2I8XGsL8+KqV9lx3EZV+jxn/L2LQ97CGKila2YMroTkCEIE0HV/FF7CMSRsIAybopdN9NTdg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.8.3.tgz", + "integrity": "sha512-PLMgdMGuVDtRS/SzjNEQYUT8f4z1xb2BAT54vM1X5efkVuYBf5WyGUMbpmARcfq3NaglIwz08UVQK4HHHbC6ag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz", + "integrity": "sha512-qt/kcur/FxrQrzFR432FGZznkVAjiyFtCOANjkAKwCbt465L6ZCiUQh2oMYGU3Wo8LRFJxNDFwWn106S5wVUNA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + } + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", + "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz", + "integrity": "sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", + "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", + "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", + "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-regex": "^7.8.3" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", + "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", + "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", + "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/preset-env": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.4.tgz", + "integrity": "sha512-HihCgpr45AnSOHRbS5cWNTINs0TwaR8BS8xIIH+QwiW8cKL0llV91njQMpeMReEPVs+1Ao0x3RLEBLtt1hOq4w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.8.4", + "@babel/helper-compilation-targets": "^7.8.4", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-proposal-async-generator-functions": "^7.8.3", + "@babel/plugin-proposal-dynamic-import": "^7.8.3", + "@babel/plugin-proposal-json-strings": "^7.8.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.8.3", + "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.8.3", + "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.8.3", + "@babel/plugin-transform-async-to-generator": "^7.8.3", + "@babel/plugin-transform-block-scoped-functions": "^7.8.3", + "@babel/plugin-transform-block-scoping": "^7.8.3", + "@babel/plugin-transform-classes": "^7.8.3", + "@babel/plugin-transform-computed-properties": "^7.8.3", + "@babel/plugin-transform-destructuring": "^7.8.3", + "@babel/plugin-transform-dotall-regex": "^7.8.3", + "@babel/plugin-transform-duplicate-keys": "^7.8.3", + "@babel/plugin-transform-exponentiation-operator": "^7.8.3", + "@babel/plugin-transform-for-of": "^7.8.4", + "@babel/plugin-transform-function-name": "^7.8.3", + "@babel/plugin-transform-literals": "^7.8.3", + "@babel/plugin-transform-member-expression-literals": "^7.8.3", + "@babel/plugin-transform-modules-amd": "^7.8.3", + "@babel/plugin-transform-modules-commonjs": "^7.8.3", + "@babel/plugin-transform-modules-systemjs": "^7.8.3", + "@babel/plugin-transform-modules-umd": "^7.8.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.8.3", + "@babel/plugin-transform-object-super": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.8.4", + "@babel/plugin-transform-property-literals": "^7.8.3", + "@babel/plugin-transform-regenerator": "^7.8.3", + "@babel/plugin-transform-reserved-words": "^7.8.3", + "@babel/plugin-transform-shorthand-properties": "^7.8.3", + "@babel/plugin-transform-spread": "^7.8.3", + "@babel/plugin-transform-sticky-regex": "^7.8.3", + "@babel/plugin-transform-template-literals": "^7.8.3", + "@babel/plugin-transform-typeof-symbol": "^7.8.4", + "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/types": "^7.8.3", + "browserslist": "^4.8.5", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + }, + "dependencies": { + "browserslist": { + "version": "4.8.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.7.tgz", + "integrity": "sha512-gFOnZNYBHrEyUML0xr5NJ6edFaaKbTFX9S9kQHlYfCP0Rit/boRIz4G+Avq6/4haEKJXdGGUnoolx+5MWW2BoA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001027", + "electron-to-chromium": "^1.3.349", + "node-releases": "^1.1.49" + } + }, + "caniuse-lite": { + "version": "1.0.30001027", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz", + "integrity": "sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.352", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.352.tgz", + "integrity": "sha512-dL/RyoueFG3UMhG0q3weAQvr+Tbqx/axAnOXYIIOsoYnV+2i+nRvX2S6msEo2+JARbBP8MFkkSYQ8AoY9Bh4Og==", + "dev": true + } + } + }, + "@babel/preset-react": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.8.3.tgz", + "integrity": "sha512-9hx0CwZg92jGb7iHYQVgi0tOEHP/kM60CtWJQnmbATSPIQQ2xYzfoCI3EdqAhFBeeJwYMdWQuDUHMsuDbH9hyQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-transform-react-display-name": "^7.8.3", + "@babel/plugin-transform-react-jsx": "^7.8.3", + "@babel/plugin-transform-react-jsx-self": "^7.8.3", + "@babel/plugin-transform-react-jsx-source": "^7.8.3" + } + }, + "@babel/runtime": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", + "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/traverse": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz", + "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.4", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.4", + "@babel/types": "^7.8.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, "@fortawesome/fontawesome-free": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.8.1.tgz", - "integrity": "sha512-GJtx6e55qLEOy2gPOsok2lohjpdWNGrYGtQx0FFT/++K4SYx+Z8LlPHdQBaFzKEwH5IbBB4fNgb//uyZjgYXoA==", + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.12.1.tgz", + "integrity": "sha512-ZtjIIFplxncqxvogq148C3hBLQE+W3iJ8E4UvJ09zIJUgzwLcROsWwFDErVSXY2Plzao5J9KUYNHKHMEUYDMKw==", + "dev": true + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "13.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.1.tgz", + "integrity": "sha512-Zq8gcQGmn4txQEJeiXo/KiLpon8TzAl0kmKH4zdWctPj05nWwp1ClMdAVEloqrQKfaC48PNLdgN/aVaLqUrluA==", "dev": true }, "@webassemblyjs/ast": { @@ -214,21 +1411,15 @@ } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", "dev": true }, "acorn-walk": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", - "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true }, "ajv": { @@ -250,9 +1441,9 @@ "dev": true }, "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", "dev": true }, "amdefine": { @@ -280,10 +1471,13 @@ "dev": true }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } }, "anymatch": { "version": "2.0.0", @@ -320,38 +1514,6 @@ "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "arr-diff": { @@ -430,11 +1592,12 @@ } }, "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { + "object-assign": "^4.1.1", "util": "0.10.3" }, "dependencies": { @@ -489,9 +1652,9 @@ "dev": true }, "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, "asynckit": { @@ -513,1033 +1676,32 @@ "dev": true }, "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", "dev": true }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "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": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dev": true, - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-builder-react-jsx": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "esutils": "^2.0.2" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "dev": true, - "requires": { - "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": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, "babel-loader": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", - "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", "dev": true, "requires": { - "find-cache-dir": "^1.0.0", + "find-cache-dir": "^2.0.0", "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - } - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", - "dev": true - }, - "babel-plugin-syntax-class-constructor-call": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", - "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", - "dev": true - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", - "dev": true - }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", - "dev": true - }, - "babel-plugin-syntax-do-expressions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", - "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=", - "dev": true - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-export-extensions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", - "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", - "dev": true - }, - "babel-plugin-syntax-flow": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", - "dev": true - }, - "babel-plugin-syntax-function-bind": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", - "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=", - "dev": true - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", - "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", - "dev": true, - "requires": { - "babel-plugin-syntax-class-constructor-call": "^6.18.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", - "dev": true, - "requires": { - "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-do-expressions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", - "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=", - "dev": true, - "requires": { - "babel-plugin-syntax-do-expressions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "dev": true, - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true, - "requires": { - "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": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "dev": true, - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "dev": true, - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "dev": true, - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "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": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", - "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", - "dev": true, - "requires": { - "babel-plugin-syntax-export-extensions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-flow-strip-types": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", - "dev": true, - "requires": { - "babel-plugin-syntax-flow": "^6.18.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-function-bind": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz", - "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=", - "dev": true, - "requires": { - "babel-plugin-syntax-function-bind": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-plugin-transform-react-display-name": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-jsx": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", - "dev": true, - "requires": { - "babel-helper-builder-react-jsx": "^6.24.1", - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-jsx-self": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-react-jsx-source": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "dev": true, - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^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.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } - }, - "babel-preset-flow": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", - "dev": true, - "requires": { - "babel-plugin-transform-flow-strip-types": "^6.22.0" - } - }, - "babel-preset-react": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "^6.3.13", - "babel-plugin-transform-react-display-name": "^6.23.0", - "babel-plugin-transform-react-jsx": "^6.24.1", - "babel-plugin-transform-react-jsx-self": "^6.22.0", - "babel-plugin-transform-react-jsx-source": "^6.22.0", - "babel-preset-flow": "^6.23.0" - } - }, - "babel-preset-stage-0": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz", - "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=", - "dev": true, - "requires": { - "babel-plugin-transform-do-expressions": "^6.22.0", - "babel-plugin-transform-function-bind": "^6.22.0", - "babel-preset-stage-1": "^6.24.1" - } - }, - "babel-preset-stage-1": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", - "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", - "dev": true, - "requires": { - "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": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", - "dev": true, - "requires": { - "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": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "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" + "pify": "^4.0.1" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - } + "object.assign": "^4.1.0" } }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "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": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "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": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -1602,9 +1764,9 @@ } }, "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", "dev": true }, "batch": { @@ -1618,21 +1780,20 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, - "optional": true, "requires": { "tweetnacl": "^0.14.3" } }, "bfj": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.1.tgz", - "integrity": "sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", "dev": true, "requires": { - "bluebird": "^3.5.1", - "check-types": "^7.3.0", - "hoopy": "^0.1.2", - "tryer": "^1.0.0" + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" } }, "big.js": { @@ -1647,6 +1808,16 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -1657,9 +1828,9 @@ } }, "bluebird": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", - "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==" + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "bn.js": { "version": "4.11.8", @@ -1668,20 +1839,27 @@ "dev": true }, "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "requires": { - "bytes": "3.0.0", + "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + } } }, "bonjour": { @@ -1828,33 +2006,15 @@ "pako": "~1.0.5" } }, - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - } - }, "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } } }, "buffer-from": { @@ -1887,47 +2047,28 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, "cacache": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", - "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", "dev": true, "requires": { - "bluebird": "^3.5.3", + "bluebird": "^3.5.5", "chownr": "^1.1.1", "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", + "glob": "^7.1.4", "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", + "rimraf": "^2.6.3", "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" }, "dependencies": { - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true - }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -1944,9 +2085,9 @@ "dev": true }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } @@ -1979,9 +2120,9 @@ } }, "camelcase": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.2.0.tgz", - "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "camelcase-keys": { @@ -2002,12 +2143,6 @@ } } }, - "caniuse-lite": { - "version": "1.0.30000878", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000878.tgz", - "integrity": "sha512-/dCGTdLCnjVJno1mFRn7Y6eit3AYaeFzSrMQHCoK0LEQaWl5snuLex1Ky4b8/Qu2ig5NgTX4cJx65hH9546puA==", - "dev": true - }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -2015,28 +2150,26 @@ "dev": true }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "check-types": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", - "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", "dev": true }, "chokidar": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", - "integrity": "sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { "anymatch": "^2.0.0", @@ -2054,15 +2187,15 @@ } }, "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -2129,16 +2262,21 @@ "wrap-ansi": "^2.0.0" } }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, "clone-deep": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", - "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { - "for-own": "^1.0.0", "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" } }, "co": { @@ -2179,9 +2317,9 @@ "dev": true }, "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" @@ -2200,9 +2338,9 @@ "dev": true }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, "compressible": { @@ -2257,38 +2395,6 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "connect-history-api-fallback": { @@ -2298,13 +2404,10 @@ "dev": true }, "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, "console-control-strings": { "version": "1.1.0", @@ -2319,25 +2422,22 @@ "dev": true }, "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } }, "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", - "dev": true - }, "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" }, "cookie-signature": { "version": "1.0.6", @@ -2364,11 +2464,46 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", - "dev": true + "core-js-compat": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz", + "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==", + "dev": true, + "requires": { + "browserslist": "^4.8.3", + "semver": "7.0.0" + }, + "dependencies": { + "browserslist": { + "version": "4.8.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.7.tgz", + "integrity": "sha512-gFOnZNYBHrEyUML0xr5NJ6edFaaKbTFX9S9kQHlYfCP0Rit/boRIz4G+Avq6/4haEKJXdGGUnoolx+5MWW2BoA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001027", + "electron-to-chromium": "^1.3.349", + "node-releases": "^1.1.49" + } + }, + "caniuse-lite": { + "version": "1.0.30001027", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz", + "integrity": "sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.352", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.352.tgz", + "integrity": "sha512-dL/RyoueFG3UMhG0q3weAQvr+Tbqx/axAnOXYIIOsoYnV+2i+nRvX2S6msEo2+JARbBP8MFkkSYQ8AoY9Bh4Og==", + "dev": true + }, + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } }, "core-util-is": { "version": "1.0.2", @@ -2414,11 +2549,11 @@ } }, "cross-fetch": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.2.tgz", - "integrity": "sha512-a4Z0EJ5Nck6QtMy9ZqloLfpvu2uMV3sBfMCR+CgSBCZc6z5KR4bfEiD3dkepH8iZgJMXQpTqf8FjMmvu/GMFkg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.4.tgz", + "integrity": "sha512-MSHgpjQqgbT/94D4CyADeNoYh52zMkCX4pcJvPP5WqPsLFMKjr2TCMg381ox5qI0ii2dPwaLx/00477knXqXVw==", "requires": { - "node-fetch": "2.3.0", + "node-fetch": "2.6.0", "whatwg-fetch": "3.0.0" } }, @@ -2452,22 +2587,23 @@ } }, "css-loader": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", - "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.2.tgz", + "integrity": "sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA==", "dev": true, "requires": { - "camelcase": "^5.2.0", - "icss-utils": "^4.1.0", + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", "loader-utils": "^1.2.3", "normalize-path": "^3.0.0", - "postcss": "^7.0.14", + "postcss": "^7.0.23", "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.6", - "postcss-modules-scope": "^2.1.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.0" + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.1.1", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.0.2", + "schema-utils": "^2.6.0" }, "dependencies": { "big.js": { @@ -2495,18 +2631,6 @@ "emojis-list": "^2.0.0", "json5": "^1.0.1" } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true } } }, @@ -2544,9 +2668,9 @@ } }, "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, "dashdash": { @@ -2558,12 +2682,6 @@ "assert-plus": "^1.0.0" } }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -2585,10 +2703,26 @@ "dev": true }, "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + } + } }, "default-gateway": { "version": "4.2.0", @@ -2651,48 +2785,18 @@ } }, "del": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.0.tgz", - "integrity": "sha512-C4kvKNlYrwXhKxz97BuohF8YoGgQ23Xm9lvoHmgT7JaPGprSEjk3+XFled74Yt/x0ZABUHg2D67covzAPUKx5Q==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dev": true, "requires": { + "@types/glob": "^7.1.1", "globby": "^6.1.0", "is-path-cwd": "^2.0.0", "is-path-in-cwd": "^2.0.0", "p-map": "^2.0.0", "pify": "^4.0.1", "rimraf": "^2.6.3" - }, - "dependencies": { - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } } }, "delayed-stream": { @@ -2713,9 +2817,9 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -2733,15 +2837,6 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, "detect-node": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", @@ -2785,12 +2880,12 @@ } }, "dnscache": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dnscache/-/dnscache-1.0.1.tgz", - "integrity": "sha1-Qssrm/tej736OVqsdOEn/AUHTTE=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dnscache/-/dnscache-1.0.2.tgz", + "integrity": "sha512-2FFKzmLGOnD+Y378bRKH+gTjRMuSpH7OKgPy31KjjfCoKZx7tU8Dmqfd/3fhG2d/4bppuN8/KtWMUZBAcUCRnQ==", "requires": { - "asap": "~2.0.3", - "lodash.clone": "~4.3.2" + "asap": "^2.0.6", + "lodash.clone": "^4.5.0" } }, "dom-converter": { @@ -2867,38 +2962,6 @@ "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "ecc-jsbn": { @@ -2906,7 +2969,6 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "optional": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -2918,21 +2980,15 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "ejs": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", - "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.61", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.61.tgz", - "integrity": "sha512-XjTdsm6x71Y48lF9EEvGciwXD70b20g0t+3YbrE+0fPFutqV08DSNrZXkoXAp3QuzX7TpL/OW+/VsNoR9GkuNg==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", "dev": true }, "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -2944,6 +3000,12 @@ "minimalistic-crypto-utils": "^1.0.0" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -2956,23 +3018,35 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" } }, "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", + "memory-fs": "^0.5.0", "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } } }, "entities": { @@ -3055,9 +3129,9 @@ } }, "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { @@ -3072,15 +3146,15 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", "dev": true }, "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", "dev": true }, "eventsource": { @@ -3177,40 +3251,69 @@ } }, "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "requires": { - "accepts": "~1.3.5", + "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", "content-type": "~1.0.4", - "cookie": "0.3.1", + "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.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.2", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "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" + }, + "dependencies": { + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + } } }, "express-cache-controller": { @@ -3371,15 +3474,50 @@ "dev": true }, "file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-5.0.2.tgz", + "integrity": "sha512-QMiQ+WBkGLejKe81HU8SZ9PovsU/5uaLo0JdTCEXOYv7i7jfAjHZi1tcwp9tSASJPOmmHZtbdCervFmXMH/Dcg==", "dev": true, "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + } } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -3410,16 +3548,16 @@ } }, "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" } }, @@ -3444,26 +3582,15 @@ } }, "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", "dev": true, "requires": { "detect-file": "^1.0.0", - "is-glob": "^3.1.0", + "is-glob": "^4.0.0", "micromatch": "^3.0.4", "resolve-dir": "^1.0.1" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } } }, "flush-write-stream": { @@ -3474,47 +3601,15 @@ "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "follow-redirects": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", - "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.10.0.tgz", + "integrity": "sha512-4eyLK6s6lH32nOvLLwlIOnr9zrL8Sm+OvW4pVTJNoXeGzYIkHVf+pADQi+OJ0E67hiuSLezPVPyBcIZO50TmmQ==", "dev": true, "requires": { - "debug": "^3.2.6" + "debug": "^3.0.0" }, "dependencies": { "debug": { @@ -3527,9 +3622,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -3546,15 +3641,6 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -3562,13 +3648,13 @@ "dev": true }, "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "1.0.6", + "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, @@ -3599,38 +3685,6 @@ "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "fs-write-stream-atomic": { @@ -3652,14 +3706,15 @@ "dev": true }, "fsevents": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.8.tgz", - "integrity": "sha512-tPvHgPGB7m40CZ68xqFGkKuzN+RnpGmSV+hgeKxhRpbxdqKXUFJGC3yonBOLzQBcJyGpdZFDfCsdOC2KFsXzeA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz", + "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==", "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" + "node-pre-gyp": "*" }, "dependencies": { "abbrev": { @@ -3671,7 +3726,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -3692,19 +3748,21 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "chownr": { - "version": "1.1.1", + "version": "1.1.3", "bundled": true, "dev": true, "optional": true @@ -3712,17 +3770,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -3731,7 +3792,7 @@ "optional": true }, "debug": { - "version": "4.1.1", + "version": "3.2.6", "bundled": true, "dev": true, "optional": true, @@ -3758,12 +3819,12 @@ "optional": true }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -3789,7 +3850,7 @@ } }, "glob": { - "version": "7.1.3", + "version": "7.1.6", "bundled": true, "dev": true, "optional": true, @@ -3818,7 +3879,7 @@ } }, "ignore-walk": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "dev": true, "optional": true, @@ -3837,9 +3898,10 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -3851,6 +3913,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3865,6 +3928,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3872,60 +3936,56 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { - "version": "2.3.5", + "version": "2.9.0", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { - "version": "1.2.1", + "version": "1.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mkdirp": { "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } }, "ms": { - "version": "2.1.1", + "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, - "nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", - "dev": true, - "optional": true - }, "needle": { - "version": "2.3.0", + "version": "2.4.0", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^4.1.0", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.12.0", + "version": "0.14.0", "bundled": true, "dev": true, "optional": true, @@ -3939,7 +3999,7 @@ "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { @@ -3953,13 +4013,22 @@ } }, "npm-bundled": { - "version": "1.0.6", + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.4.1", + "version": "1.4.7", "bundled": true, "dev": true, "optional": true, @@ -3983,7 +4052,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -3995,6 +4065,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -4028,7 +4099,7 @@ "optional": true }, "process-nextick-args": { - "version": "2.0.0", + "version": "2.0.1", "bundled": true, "dev": true, "optional": true @@ -4069,7 +4140,7 @@ } }, "rimraf": { - "version": "2.6.3", + "version": "2.7.1", "bundled": true, "dev": true, "optional": true, @@ -4080,7 +4151,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -4095,7 +4167,7 @@ "optional": true }, "semver": { - "version": "5.7.0", + "version": "5.7.1", "bundled": true, "dev": true, "optional": true @@ -4116,6 +4188,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4135,6 +4208,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4146,18 +4220,18 @@ "optional": true }, "tar": { - "version": "4.4.8", + "version": "4.4.13", "bundled": true, "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "yallist": "^3.0.3" } }, "util-deprecate": { @@ -4178,19 +4252,21 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { - "version": "3.0.3", + "version": "3.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4230,6 +4306,12 @@ "globule": "^1.0.0" } }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -4267,9 +4349,9 @@ } }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -4302,14 +4384,25 @@ } }, "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "global-prefix": "^3.0.0" + }, + "dependencies": { + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + } } }, "global-prefix": { @@ -4325,12 +4418,6 @@ "which": "^1.2.14" } }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", @@ -4353,38 +4440,30 @@ } }, "globule": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", - "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", + "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.10", + "lodash": "~4.17.12", "minimatch": "~3.0.2" } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "dev": true }, "gzip-size": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.0.tgz", - "integrity": "sha512-wfSnvypBDRW94v5W3ckvvz/zFUNdJ81VgOP6tE4bPpRUcc0wGqU+y0eZjJEvKxwubJFix6P84sE8M51YWLT7rQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", "dev": true, "requires": { "duplexer": "^0.1.1", "pify": "^4.0.1" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - } } }, "hammerjs": { @@ -4406,13 +4485,39 @@ "dev": true }, "har-validator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "^5.3.0", + "ajv": "^6.5.5", "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + } } }, "has": { @@ -4520,16 +4625,6 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -4546,9 +4641,9 @@ "dev": true }, "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", "dev": true }, "hpack.js": { @@ -4561,38 +4656,6 @@ "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "html-entities": { @@ -4694,29 +4757,30 @@ "dev": true }, "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "requires": { "depd": "~1.1.2", "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", "dev": true, "requires": { - "eventemitter3": "^3.0.0", + "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } @@ -4751,23 +4815,17 @@ "dev": true }, "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, "icss-utils": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.0.tgz", - "integrity": "sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", "dev": true, "requires": { "postcss": "^7.0.14" @@ -4800,60 +4858,6 @@ "requires": { "pkg-dir": "^3.0.0", "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } } }, "imurmurhash": { @@ -4883,10 +4887,10 @@ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", "dev": true }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, "inflight": { @@ -4918,14 +4922,6 @@ "requires": { "default-gateway": "^4.2.0", "ipaddr.js": "^1.9.0" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", - "dev": true - } } }, "interpret": { @@ -4962,9 +4958,15 @@ "dev": true }, "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", @@ -4986,6 +4988,12 @@ } } }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -5071,13 +5079,10 @@ "dev": true }, "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", @@ -5118,27 +5123,27 @@ } }, "is-path-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.0.0.tgz", - "integrity": "sha512-m5dHHzpOXEiv18JEORttBO64UgTEypx99vCxQLjbBvGhOJxnTNglYoFXxwo6AbsQb79sqqycQEHv2hWkHZAijA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true }, "is-path-in-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.0.0.tgz", - "integrity": "sha512-6Vz5Gc9s/sDA3JBVu0FzWufm8xaBsqy1zn8Q6gmvGP6nSDMw78aS4poBNeatWjaRpTpxxLn1WOndAiOlk+qY8A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "^2.1.0" } }, "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "^1.0.2" } }, "is-plain-obj": { @@ -5205,9 +5210,9 @@ "dev": true }, "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { @@ -5229,9 +5234,9 @@ "dev": true }, "js-base64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", - "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", + "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", "dev": true }, "js-tokens": { @@ -5244,13 +5249,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, "json-parse-better-errors": { @@ -5278,9 +5276,9 @@ "dev": true }, "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", "dev": true }, "json5": { @@ -5308,9 +5306,9 @@ "dev": true }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "lcid": { @@ -5323,9 +5321,9 @@ } }, "less": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz", - "integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==", + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz", + "integrity": "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==", "dev": true, "requires": { "clone": "^2.1.2", @@ -5336,15 +5334,10 @@ "mkdirp": "^0.5.0", "promise": "^7.1.1", "request": "^2.83.0", - "source-map": "~0.6.0" + "source-map": "~0.6.0", + "tslib": "^1.10.0" }, "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -5355,22 +5348,29 @@ } }, "less-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.1.0.tgz", - "integrity": "sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz", + "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==", "dev": true, "requires": { "clone": "^2.1.1", "loader-utils": "^1.1.0", - "pify": "^3.0.0" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - } + "pify": "^4.0.1" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" } }, "load-json-file": { @@ -5422,57 +5422,25 @@ } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "lodash._baseclone": { - "version": "4.5.7", - "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz", - "integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, "lodash.clone": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.3.2.tgz", - "integrity": "sha1-5WsXa2gjp93jj38r9Y3n1ZcSAOk=", - "requires": { - "lodash._baseclone": "~4.5.0" - } - }, - "lodash.clonedeep": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" }, - "lodash.mergewith": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", - "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", - "dev": true - }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", - "dev": true - }, "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz", + "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A==", "dev": true }, "loose-envify": { @@ -5518,20 +5486,6 @@ "requires": { "pify": "^4.0.1", "semver": "^5.6.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true - } } }, "mamacro": { @@ -5587,9 +5541,9 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.2.0.tgz", - "integrity": "sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "dev": true, "requires": { "map-age-cleaner": "^0.1.1", @@ -5605,38 +5559,6 @@ "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "meow": { @@ -5655,14 +5577,6 @@ "read-pkg-up": "^1.0.1", "redent": "^1.0.0", "trim-newlines": "^1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } } }, "merge-descriptors": { @@ -5709,9 +5623,7 @@ "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "optional": true + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { "version": "1.35.0", @@ -5727,21 +5639,58 @@ } }, "mimic-fn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.0.0.tgz", - "integrity": "sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "mini-css-extract-plugin": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz", - "integrity": "sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", "dev": true, "requires": { "loader-utils": "^1.1.0", - "normalize-url": "^2.0.1", + "normalize-url": "1.9.1", "schema-utils": "^1.0.0", "webpack-sources": "^1.1.0" + }, + "dependencies": { + "ajv": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } } }, "minimalistic-assert": { @@ -5766,9 +5715,9 @@ } }, "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "mississippi": { @@ -5790,9 +5739,9 @@ } }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -5810,24 +5759,6 @@ } } }, - "mixin-object": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", - "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", - "dev": true, - "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" - }, - "dependencies": { - "for-in": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", - "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", - "dev": true - } - } - }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -5835,6 +5766,14 @@ "dev": true, "requires": { "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } } }, "moment": { @@ -5878,9 +5817,9 @@ "dev": true }, "nan": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", - "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", "dev": true }, "nanomatch": { @@ -5908,9 +5847,9 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, "neo-async": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz", - "integrity": "sha512-vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, "nice-try": { @@ -5929,14 +5868,14 @@ } }, "node-fetch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", - "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, "node-forge": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", - "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", "dev": true }, "node-gyp": { @@ -5968,9 +5907,9 @@ } }, "node-libs-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", - "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "requires": { "assert": "^1.1.1", @@ -5983,7 +5922,7 @@ "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", + "path-browserify": "0.0.1", "process": "^0.11.10", "punycode": "^1.2.4", "querystring-es3": "^0.2.0", @@ -5995,56 +5934,38 @@ "tty-browserify": "0.0.0", "url": "^0.11.0", "util": "^0.11.0", - "vm-browserify": "0.0.4" + "vm-browserify": "^1.0.1" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.49", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.49.tgz", + "integrity": "sha512-xH8t0LS0disN0mtRCh+eByxFPie+msJUBL/lJDBuap53QGiYPa9joh83K4pCZgWJ+2L4b9h88vCVdXQ60NO2bg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } } } }, "node-sass": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz", - "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==", + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", + "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -6054,18 +5975,43 @@ "get-stdin": "^4.0.1", "glob": "^7.0.3", "in-publish": "^2.0.0", - "lodash.assign": "^4.2.0", - "lodash.clonedeep": "^4.3.2", - "lodash.mergewith": "^4.6.0", + "lodash": "^4.17.15", "meow": "^3.7.0", "mkdirp": "^0.5.1", - "nan": "^2.10.0", + "nan": "^2.13.2", "node-gyp": "^3.8.0", "npmlog": "^4.0.0", "request": "^2.88.0", "sass-graph": "^2.2.4", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } } }, "nopt": { @@ -6096,14 +6042,15 @@ "dev": true }, "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "dev": true, "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" } }, "npm-run-path": { @@ -6184,6 +6131,18 @@ } } }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==", + "dev": true + }, "object-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", @@ -6199,6 +6158,18 @@ "isobject": "^3.0.0" } }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, "object.getownpropertydescriptors": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", @@ -6320,15 +6291,15 @@ "dev": true }, "p-is-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", "dev": true }, "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -6349,59 +6320,36 @@ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "requires": { - "cyclist": "~0.2.2", + "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "param-case": { @@ -6414,9 +6362,9 @@ } }, "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", "dev": true, "requires": { "asn1.js": "^4.0.0", @@ -6443,9 +6391,9 @@ "dev": true }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "pascalcase": { "version": "0.1.1", @@ -6454,9 +6402,9 @@ "dev": true }, "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, "path-dirname": { @@ -6539,9 +6487,9 @@ "dev": true }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, "pinkie": { @@ -6569,20 +6517,38 @@ } }, "portfinder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", - "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", "dev": true, "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" }, "dependencies": { "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -6594,9 +6560,9 @@ "dev": true }, "postcss": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", - "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.26.tgz", + "integrity": "sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -6604,37 +6570,6 @@ "supports-color": "^6.1.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -6662,20 +6597,21 @@ } }, "postcss-modules-local-by-default": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", - "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", "dev": true, "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0", - "postcss-value-parser": "^3.3.1" + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" } }, "postcss-modules-scope": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", - "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz", + "integrity": "sha512-OXRUPecnHCg8b9xWvldG/jUpRIGPNRka0r4D4j0ESUU2/5IOnpsjfPPmDprM3Ih8CgZ8FXjWqaniK5v4rWt3oQ==", "dev": true, "requires": { "postcss": "^7.0.6", @@ -6683,12 +6619,12 @@ } }, "postcss-modules-values": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", "dev": true, "requires": { - "icss-replace-symbols": "^1.1.0", + "icss-utils": "^4.0.0", "postcss": "^7.0.6" } }, @@ -6704,15 +6640,15 @@ } }, "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", "dev": true }, "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, "pretty-error": { @@ -6738,9 +6674,9 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "promise": { @@ -6771,12 +6707,12 @@ } }, "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "ipaddr.js": "1.9.0" } }, "prr": { @@ -6792,9 +6728,9 @@ "dev": true }, "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", + "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==", "dev": true }, "public-encrypt": { @@ -6845,23 +6781,22 @@ } }, "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" }, "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "dev": true, "requires": { - "decode-uri-component": "^0.2.0", "object-assign": "^4.1.0", "strict-uri-encode": "^1.0.0" } @@ -6904,43 +6839,49 @@ } }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + } } }, "react": { - "version": "16.8.6", - "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", - "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz", + "integrity": "sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.13.6" + "prop-types": "^15.6.2" } }, "react-dom": { - "version": "16.8.6", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz", - "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==", + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.12.0.tgz", + "integrity": "sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.13.6" + "scheduler": "^0.18.0" } }, "react-html-parser": { @@ -7046,15 +6987,18 @@ } }, "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -7066,38 +7010,6 @@ "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "redent": { @@ -7116,23 +7028,21 @@ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", "dev": true }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, "regenerator-runtime": { "version": "0.13.2", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", "dev": true }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "dev": true, - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -7143,74 +7053,109 @@ "safe-regex": "^1.1.0" } }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" }, "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "es-abstract": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true } } }, "relaks": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/relaks/-/relaks-2.0.0.tgz", - "integrity": "sha512-wYi8BvujKWYNXP2BvBASiDhH/VWNxaBLtmn/aoiWbB3UpPdgu2xGnCb9mXY4EcywnRgp8u9T8qWB25l0ABJe6Q==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/relaks/-/relaks-2.1.3.tgz", + "integrity": "sha512-CCv8KHNUarD2jb6rNmLyyGYhgxM4o8JISQ6oZTs11isJsnq60DTGOGUwwty2IeJmoZtM08m4tsbQlT4IQNi1sw==", "dev": true }, "relaks-event-emitter": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/relaks-event-emitter/-/relaks-event-emitter-0.0.6.tgz", - "integrity": "sha512-scNhLQeH7v1q+CRJFRWVYDUI4kES+P4suQzoW9bbayrwhpbSm5oZtofins8MDRLh+Hp55QEUmoIkfb1NGlljgw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/relaks-event-emitter/-/relaks-event-emitter-2.0.7.tgz", + "integrity": "sha512-rsKmwUlq/RMBjsygMWredBkQCkrmyhjlCE5VC0R78EMuHaL30bD7FxfkUWzZVgn+5FFHiNvRp7o/ioGqNiE9AA==", "dev": true }, "relaks-harvest": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/relaks-harvest/-/relaks-harvest-2.0.0.tgz", - "integrity": "sha512-zcZPp8MVCui0S1rwtvx7TNXxsajjLrpJiJkNt8PfgDZcB3x66CjyGgfzoiKi8LEcBT7328S8x20AoJsBM2Gw+g==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/relaks-harvest/-/relaks-harvest-2.1.3.tgz", + "integrity": "sha512-5+lDxnZripc3Pg+oiRA3R/6Adtr5dwKhHkghlXOhzFm1UsFa2hewfBamfMQRxavrLS8oK4RKPUmn0r0rK9DtJg==", "dev": true }, "relaks-route-manager": { - "version": "0.0.21", - "resolved": "https://registry.npmjs.org/relaks-route-manager/-/relaks-route-manager-0.0.21.tgz", - "integrity": "sha512-eWTcO/zbOSMrvFTwqjCz6kUaFWb+OneyXas6adwkSS/51zzbWCXJrSd8EDdXWv72T6tlJDbVtqTBdR2xniyUxA==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/relaks-route-manager/-/relaks-route-manager-2.0.7.tgz", + "integrity": "sha512-bo2i/OO0OCm0USOGeTECr98M8+yZP87nWXAByj1dKEr24VsHnABe7S+7Pw4+vbvMCTQ58hCNj+pUEMg4pZ7K8A==", "dev": true, "requires": { - "relaks-event-emitter": "0.0.6" + "relaks-event-emitter": "2.0.7" } }, "relaks-wordpress-data-source": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/relaks-wordpress-data-source/-/relaks-wordpress-data-source-0.0.5.tgz", - "integrity": "sha512-bFJYIFvlmd4cVc0iUM+dpUYQBpIYBs6v2hS2+cfeXhFHoy7v8MT+a8cbvMq1sUkuorkGXIvuEs3zh63m7ujBSw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/relaks-wordpress-data-source/-/relaks-wordpress-data-source-2.0.1.tgz", + "integrity": "sha512-0v5iHUzaIQg9pS5dhw5i7s52AhdjAKoG8HFPE6xAL2GEqKqzFlkPAk5OlbzZ+cR6SpwxTkA0YXFMMMztldj09w==", "dev": true, "requires": { - "relaks-event-emitter": "0.0.6" + "relaks-event-emitter": "2.0.7" } }, "relateurl": { @@ -7260,9 +7205,9 @@ } }, "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -7272,7 +7217,7 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.0", + "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -7282,9 +7227,17 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", + "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } } }, "require-directory": { @@ -7306,9 +7259,9 @@ "dev": true }, "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -7331,6 +7284,19 @@ "requires": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + } } }, "resolve-from": { @@ -7351,13 +7317,19 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "ripemd160": { @@ -7411,17 +7383,50 @@ } }, "sass-loader": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", - "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", + "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", "dev": true, "requires": { - "clone-deep": "^2.0.1", - "loader-utils": "^1.0.1", - "lodash.tail": "^4.1.1", - "neo-async": "^2.5.0", - "pify": "^3.0.0", - "semver": "^5.5.0" + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.6.1", + "semver": "^6.3.0" + }, + "dependencies": { + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "schedule": { @@ -7433,9 +7438,9 @@ } }, "scheduler": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", - "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -7443,32 +7448,31 @@ } }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.4.tgz", + "integrity": "sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" }, "dependencies": { "ajv": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", - "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", "dev": true }, "json-schema-traverse": { @@ -7507,24 +7511,24 @@ "dev": true }, "selfsigned": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", - "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", "dev": true, "requires": { - "node-forge": "0.7.5" + "node-forge": "0.9.0" } }, "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -7533,25 +7537,25 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, "dependencies": { - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, "serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", "dev": true }, "serve-index": { @@ -7567,17 +7571,37 @@ "http-errors": "~1.6.2", "mime-types": "~2.1.17", "parseurl": "~1.3.2" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } } }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.17.1" } }, "set-blocking": { @@ -7587,9 +7611,9 @@ "dev": true }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -7616,9 +7640,9 @@ "dev": true }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, "sha.js": { "version": "2.4.11", @@ -7631,22 +7655,12 @@ } }, "shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "kind-of": "^6.0.2" } }, "shebang-command": { @@ -7670,12 +7684,6 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -7794,9 +7802,9 @@ } }, "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", "dev": true, "requires": { "debug": "^3.2.5", @@ -7817,26 +7825,26 @@ } }, "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "dev": true, "requires": { "is-plain-obj": "^1.0.0" @@ -7855,27 +7863,18 @@ "dev": true }, "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "dev": true, "requires": { - "atob": "^2.1.1", + "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", "urix": "^0.1.0" } }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", @@ -7909,15 +7908,15 @@ } }, "spdx-license-ids": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, "spdy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz", - "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", "dev": true, "requires": { "debug": "^4.1.0", @@ -7937,9 +7936,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } @@ -7968,37 +7967,28 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "readable-stream": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", - "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } - }, - "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } } } }, "spider-detector": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/spider-detector/-/spider-detector-1.0.19.tgz", - "integrity": "sha512-C38Yju1AjQv4jZdnO9X+vpjIbpI8dtk229cX4yrdHhdG4JA3yaOXbY0wigfS4dKXCluFHTN9FiomtwKtJjSPuA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spider-detector/-/spider-detector-2.0.0.tgz", + "integrity": "sha512-tClSEoeeYZphUt5AUd2BqaoQNHQazcsUM3bx2OY/S/PTFaHmNZPFZx47uei8OhPj7umnnBUYJV0qoGwzhokrjg==" }, "split-string": { "version": "3.1.0", @@ -8010,9 +8000,9 @@ } }, "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -8057,9 +8047,9 @@ } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "stdout-stream": { "version": "1.4.1", @@ -8068,38 +8058,6 @@ "dev": true, "requires": { "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-browserify": { @@ -8110,38 +8068,6 @@ "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-each": { @@ -8165,44 +8091,12 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "strict-uri-encode": { @@ -8222,11 +8116,34 @@ "strip-ansi": "^3.0.0" } }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } }, "strip-ansi": { "version": "3.0.1", @@ -8262,10 +8179,13 @@ } }, "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } }, "tapable": { "version": "1.1.1", @@ -8274,31 +8194,31 @@ "dev": true }, "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", "dev": true, "requires": { "block-stream": "*", - "fstream": "^1.0.2", + "fstream": "^1.0.12", "inherits": "2" } }, "terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.3.tgz", + "integrity": "sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ==", "dev": true, "requires": { - "commander": "^2.19.0", + "commander": "^2.20.0", "source-map": "~0.6.1", - "source-map-support": "~0.5.10" + "source-map-support": "~0.5.12" }, "dependencies": { "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "source-map": { @@ -8308,9 +8228,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -8320,26 +8240,78 @@ } }, "terser-webpack-plugin": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz", - "integrity": "sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", "dev": true, "requires": { - "cacache": "^11.0.2", - "find-cache-dir": "^2.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", + "serialize-javascript": "^2.1.2", "source-map": "^0.6.1", - "terser": "^3.16.1", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "dependencies": { + "ajv": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } } } }, @@ -8351,50 +8323,18 @@ "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "thunky": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", - "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -8406,12 +8346,6 @@ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -8454,6 +8388,11 @@ "repeat-string": "^1.6.1" } }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, "toposort": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", @@ -8461,13 +8400,13 @@ "dev": true }, "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "trim-newlines": { @@ -8476,12 +8415,6 @@ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, "true-case-path": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", @@ -8498,9 +8431,9 @@ "dev": true }, "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, "tty-browserify": { @@ -8522,16 +8455,30 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true + "dev": true }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" + }, + "dependencies": { + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } + } } }, "typedarray": { @@ -8559,62 +8506,129 @@ } }, "uglifyjs-webpack-plugin": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.1.2.tgz", - "integrity": "sha512-G1fJx2uOAAfvdZ77SVCzmFo6mv8uKaHoZBL9Qq/ciC8r6p0ANOL1uY85fIUiyWXKw5RzAaJYZfNSL58Or2hQ0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-mHSkufBmBuJ+KHQhv5H0MXijtsoA1lynJt1lXOaotja8/I0pR4L9oGaPIZw+bQBOFittXZg9OC1sXSGO9D9ZYg==", "dev": true, "requires": { - "cacache": "^11.2.0", - "find-cache-dir": "^2.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", + "serialize-javascript": "^1.7.0", "source-map": "^0.6.1", - "uglify-js": "^3.0.0", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" + "uglify-js": "^3.6.0", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "dependencies": { + "ajv": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "uglify-js": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.7.tgz", + "integrity": "sha512-FeSU+hi7ULYy6mn8PKio/tXsdSXN35lm4KgV2asx00kzrLU9Pi3oAslcJT70Jdj7PHX29gGUPOT6+lXGBbemhA==", + "dev": true, + "requires": { + "commander": "~2.20.3", + "source-map": "~0.6.1" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } } } }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "uniq": { @@ -8633,9 +8647,9 @@ } }, "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "requires": { "imurmurhash": "^0.1.4" @@ -8683,19 +8697,13 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true } } }, "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, "upper-case": { @@ -8711,14 +8719,6 @@ "dev": true, "requires": { "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - } } }, "urix": { @@ -8746,12 +8746,12 @@ } }, "url-parse": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.6.tgz", - "integrity": "sha512-/B8AD9iQ01seoXmXf9z/MjLZQIdOoYl/+gvsQF6+mpnxaTfG9P7srYaiqaDMyKkR36XMXfhqSHss5MyFAO8lew==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", "dev": true, "requires": { - "querystringify": "^2.0.0", + "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, @@ -8798,15 +8798,15 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, "v8-compile-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", - "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", "dev": true }, "validate-npm-package-license": { @@ -8836,13 +8836,10 @@ } }, "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true }, "watchpack": { "version": "1.6.0", @@ -8865,53 +8862,58 @@ } }, "webpack": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.30.0.tgz", - "integrity": "sha512-4hgvO2YbAFUhyTdlR4FNyt2+YaYBYHavyzjCMbZzgglo02rlKi/pcsEzwCuCpsn1ryzIl1cq/u8ArIKu8JBYMg==", + "version": "4.41.6", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.6.tgz", + "integrity": "sha512-yxXfV0Zv9WMGRD+QexkZzmGIh54bsvEs+9aRWxnN8erLWEOehAKUTeNBoUbA6HPEZPlRo7KDi2ZcNveoZgK9MA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-module-context": "1.8.5", "@webassemblyjs/wasm-edit": "1.8.5", "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.0.5", - "acorn-dynamic-import": "^4.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", + "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", - "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", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" }, "dependencies": { "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", "dev": true }, "json-schema-traverse": { @@ -8920,16 +8922,53 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -8939,9 +8978,9 @@ } }, "webpack-bundle-analyzer": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.3.2.tgz", - "integrity": "sha512-7qvJLPKB4rRWZGjVp5U1KEjwutbDHSKboAl0IfafnrdXMrgC0tOtZbQD6Rw0u4cmpgRN4O02Fc0t8eAT+FgGzA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.0.tgz", + "integrity": "sha512-orUfvVYEfBMDXgEKAKVvab5iQ2wXneIEorGNsyuOyVYpjYrI7CUOhhXNDd3huMwQ3vNNWWlGP+hzflMFYNzi2g==", "dev": true, "requires": { "acorn": "^6.0.7", @@ -8953,103 +8992,60 @@ "express": "^4.16.3", "filesize": "^3.6.1", "gzip-size": "^5.0.0", - "lodash": "^4.17.10", + "lodash": "^4.17.15", "mkdirp": "^0.5.1", "opener": "^1.5.1", "ws": "^6.0.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, "webpack-cli": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.0.tgz", - "integrity": "sha512-t1M7G4z5FhHKJ92WRKwZ1rtvi7rHc0NZoZRbSkol0YKl4HvcC8+DsmGDmK7MmZxHSAetHagiOsjOB6MmzC2TUw==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", + "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", "dev": true, "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.0", - "findup-sync": "^2.0.0", - "global-modules": "^1.0.0", - "import-local": "^2.0.0", - "interpret": "^1.1.0", - "loader-utils": "^1.1.0", - "supports-color": "^5.5.0", - "v8-compile-cache": "^2.0.2", - "yargs": "^12.0.5" + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.1.0", + "findup-sync": "3.0.0", + "global-modules": "2.0.0", + "import-local": "2.0.0", + "interpret": "1.2.0", + "loader-utils": "1.2.3", + "supports-color": "6.1.0", + "v8-compile-cache": "2.0.3", + "yargs": "13.2.4" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" } }, "cross-spawn": { @@ -9065,6 +9061,23 @@ "which": "^1.2.9" } }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", @@ -9077,6 +9090,15 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -9086,6 +9108,17 @@ "invert-kv": "^2.0.0" } }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", @@ -9097,29 +9130,36 @@ "mem": "^4.0.0" } }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -9131,30 +9171,46 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", + "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "dev": true, + "requires": { + "cliui": "^5.0.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^13.1.0" } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -9164,63 +9220,79 @@ } }, "webpack-dev-middleware": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.6.2.tgz", - "integrity": "sha512-A47I5SX60IkHrMmZUlB0ZKSWi29TZTcPz7cha1Z75yYOsgWh/1AcPmQEbC8ZIbU3A1ytSv1PMU0PyPz2Lmz2jg==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", "dev": true, "requires": { "memory-fs": "^0.4.1", - "mime": "^2.3.1", - "range-parser": "^1.0.3", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", "webpack-log": "^2.0.0" }, "dependencies": { "mime": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.2.tgz", - "integrity": "sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true } } }, "webpack-dev-server": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.3.1.tgz", - "integrity": "sha512-jY09LikOyGZrxVTXK0mgIq9y2IhCoJ05848dKZqX1gAGLU1YDqgpOT71+W53JH/wI4v6ky4hm+KvSyW14JEs5A==", + "version": "3.10.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", + "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", "dev": true, "requires": { "ansi-html": "0.0.7", "bonjour": "^3.5.0", - "chokidar": "^2.1.5", + "chokidar": "^2.1.8", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", "debug": "^4.1.1", - "del": "^4.1.0", - "express": "^4.16.4", + "del": "^4.1.1", + "express": "^4.17.1", "html-entities": "^1.2.1", - "http-proxy-middleware": "^0.19.1", + "http-proxy-middleware": "0.19.1", "import-local": "^2.0.0", - "internal-ip": "^4.2.0", + "internal-ip": "^4.3.0", "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", "killable": "^1.0.1", - "loglevel": "^1.6.1", + "loglevel": "^1.6.6", "opn": "^5.5.0", - "portfinder": "^1.0.20", + "p-retry": "^3.0.1", + "portfinder": "^1.0.25", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.4", - "semver": "^6.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", "serve-index": "^1.9.1", "sockjs": "0.3.19", - "sockjs-client": "1.3.0", - "spdy": "^4.0.0", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", "url": "^0.11.0", - "webpack-dev-middleware": "^3.6.2", + "webpack-dev-middleware": "^3.7.2", "webpack-log": "^2.0.0", + "ws": "^6.2.1", "yargs": "12.0.5" }, "dependencies": { + "ajv": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -9258,6 +9330,12 @@ "ms": "^2.1.1" } }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", @@ -9270,6 +9348,12 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -9280,9 +9364,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "os-locale": { @@ -9296,10 +9380,21 @@ "mem": "^4.0.0" } }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, "semver": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", - "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "string-width": { @@ -9399,12 +9494,13 @@ } }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, @@ -9444,9 +9540,9 @@ } }, "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" @@ -9478,9 +9574,9 @@ } }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { diff --git a/package.json b/package.json index c6ec25f..f5ee035 100644 --- a/package.json +++ b/package.json @@ -22,52 +22,48 @@ "license": "MIT", "homepage": "https://github.com/trambarhq/relaks-wordpress-example", "devDependencies": { - "@fortawesome/fontawesome-free": "^5.8.1", - "babel-core": "^6.26.3", - "babel-loader": "^7.1.5", - "babel-plugin-syntax-async-functions": "^6.13.0", - "babel-plugin-syntax-class-properties": "^6.13.0", - "babel-plugin-transform-regenerator": "^6.26.0", - "babel-plugin-transform-runtime": "^6.23.0", - "babel-preset-env": "^1.7.0", - "babel-preset-react": "^6.24.1", - "babel-preset-stage-0": "^6.24.1", - "css-loader": "^2.1.1", + "@babel/core": "^7.8.4", + "@babel/plugin-transform-runtime": "^7.8.3", + "@babel/preset-env": "^7.8.4", + "@babel/preset-react": "^7.8.3", + "@babel/runtime": "^7.8.4", + "@fortawesome/fontawesome-free": "^5.12.1", + "css-loader": "^3.4.2", + "babel-loader": "^8.0.6", "extract-text-webpack-plugin": "^3.0.2", - "file-loader": "^3.0.1", + "file-loader": "^5.0.2", "font-awesome": "^4.7.0", "hammerjs": "^2.0.8", "html-webpack-plugin": "^3.2.0", - "less": "^3.9.0", - "less-loader": "^4.1.0", - "lodash": "^4.17.11", - "mini-css-extract-plugin": "^0.6.0", - "node-sass": "^4.11.0", + "less": "^3.11.1", + "less-loader": "^5.0.0", + "lodash": "^4.17.15", + "mini-css-extract-plugin": "^0.9.0", + "node-sass": "^4.13.1", "prop-types": "^15.7.2", - "react": "^16.8.6", - "react-dom": "^16.8.6", + "react": "^16.12.0", + "react-dom": "^16.12.0", "react-html-parser": "^2.0.2", - "regenerator-runtime": "^0.13.2", - "relaks": "^2.0.0", - "relaks-harvest": "^2.0.0", - "relaks-route-manager": "^0.0.21", - "relaks-wordpress-data-source": "^0.0.5", - "sass-loader": "^7.1.0", - "uglifyjs-webpack-plugin": "^2.1.2", - "webpack": "^4.30.0", - "webpack-bundle-analyzer": "^3.3.2", - "webpack-cli": "^3.3.0", - "webpack-dev-server": "^3.3.1" + "relaks": "^2.1.3", + "relaks-harvest": "^2.1.3", + "relaks-route-manager": "^2.0.7", + "relaks-wordpress-data-source": "^2.0.1", + "sass-loader": "^8.0.2", + "uglifyjs-webpack-plugin": "^2.2.0", + "webpack": "^4.41.6", + "webpack-bundle-analyzer": "^3.6.0", + "webpack-cli": "^3.3.11", + "webpack-dev-server": "^3.10.3" }, "dependencies": { - "bluebird": "^3.5.4", + "bluebird": "^3.7.2", "compression": "^1.7.4", - "cross-fetch": "^3.0.2", - "dnscache": "^1.0.1", - "express": "^4.16.4", + "cross-fetch": "^3.0.4", + "dnscache": "^1.0.2", + "express": "^4.17.1", "express-cache-controller": "^1.1.0", "moment": "^2.24.0", "schedule": "^0.5.0", - "spider-detector": "^1.0.19" + "spider-detector": "^2.0.0" } } diff --git a/server/client/4165c2688309cbfb1b877caf8f75afb5.woff2 b/server/client/4165c2688309cbfb1b877caf8f75afb5.woff2 new file mode 100644 index 0000000..1f796c7 Binary files /dev/null and b/server/client/4165c2688309cbfb1b877caf8f75afb5.woff2 differ diff --git a/server/client/418dad87601f9c8abd0e5798c0dc1feb.woff2 b/server/client/418dad87601f9c8abd0e5798c0dc1feb.woff2 deleted file mode 100644 index 67f67dc..0000000 Binary files a/server/client/418dad87601f9c8abd0e5798c0dc1feb.woff2 and /dev/null differ diff --git a/server/client/427d721b86fc9c68b2e85ad42b69238c.woff b/server/client/427d721b86fc9c68b2e85ad42b69238c.woff deleted file mode 100644 index 822243e..0000000 Binary files a/server/client/427d721b86fc9c68b2e85ad42b69238c.woff and /dev/null differ diff --git a/server/client/55eb2a60e8181f0e68b558c991973bf0.woff2 b/server/client/55eb2a60e8181f0e68b558c991973bf0.woff2 new file mode 100644 index 0000000..ba7507b Binary files /dev/null and b/server/client/55eb2a60e8181f0e68b558c991973bf0.woff2 differ diff --git a/server/client/73cf49a2232c06c920b7a34e36bfb58c.woff b/server/client/73cf49a2232c06c920b7a34e36bfb58c.woff new file mode 100644 index 0000000..f17953a Binary files /dev/null and b/server/client/73cf49a2232c06c920b7a34e36bfb58c.woff differ diff --git a/server/client/a7140145ebaaf5fb14e40430af5d25c4.woff b/server/client/a7140145ebaaf5fb14e40430af5d25c4.woff deleted file mode 100644 index 86d9b32..0000000 Binary files a/server/client/a7140145ebaaf5fb14e40430af5d25c4.woff and /dev/null differ diff --git a/server/client/cdfec5cf5e9840889790bcf2c4042583.woff b/server/client/cdfec5cf5e9840889790bcf2c4042583.woff new file mode 100644 index 0000000..3c9ef93 Binary files /dev/null and b/server/client/cdfec5cf5e9840889790bcf2c4042583.woff differ diff --git a/server/client/e6257a726a0cf6ec8c6fec22821c055f.woff2 b/server/client/e6257a726a0cf6ec8c6fec22821c055f.woff2 deleted file mode 100644 index c446ff7..0000000 Binary files a/server/client/e6257a726a0cf6ec8c6fec22821c055f.woff2 and /dev/null differ diff --git a/server/client/front-end.js b/server/client/front-end.js index d16252f..15602ec 100644 --- a/server/client/front-end.js +++ b/server/client/front-end.js @@ -1,58 +1,52 @@ -!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=351)}([function(e,t,n){"use strict";e.exports=n(280)},function(e,t,n){(function(e){e.exports=function(){"use strict";var t,r;function a(){return t.apply(null,arguments)}function i(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function s(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function o(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function c(e,t){var n,r=[];for(n=0;n>>0,r=0;r0)for(n=0;n=0;return(i?n?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+r}var W=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,I=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z={},U={};function q(e,t,n,r){var a=r;"string"==typeof r&&(a=function(){return this[r]()}),e&&(U[e]=a),t&&(U[t[0]]=function(){return F(a.apply(this,arguments),t[1],t[2])}),n&&(U[n]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function B(e,t){return e.isValid()?(t=V(t,e.localeData()),z[t]=z[t]||function(e){var t,n,r,a=e.match(W);for(t=0,n=a.length;t=0&&I.test(e);)e=e.replace(I,r),I.lastIndex=0,n-=1;return e}var J=/\d/,G=/\d\d/,$=/\d{3}/,K=/\d{4}/,Q=/[+-]?\d{6}/,Z=/\d\d?/,X=/\d\d\d\d?/,ee=/\d\d\d\d\d\d?/,te=/\d{1,3}/,ne=/\d{1,4}/,re=/[+-]?\d{1,6}/,ae=/\d+/,ie=/[+-]?\d+/,se=/Z|[+-]\d\d:?\d\d/gi,oe=/Z|[+-]\d\d(?::?\d\d)?/gi,ue=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,le={};function ce(e,t,n){le[e]=E(t)?t:function(e,r){return e&&n?n:t}}function de(e,t){return d(le,e)?le[e](t._strict,t._locale):new RegExp(fe(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,r,a){return t||n||r||a})))}function fe(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var he={};function _e(e,t){var n,r=t;for("string"==typeof e&&(e=[e]),u(t)&&(r=function(e,n){n[t]=k(e)}),n=0;n68?1900:2e3)};var xe,Se=Ee("FullYear",!0);function Ee(e,t){return function(n){return null!=n?(Pe(this,e,n),a.updateOffset(this,t),this):je(this,e)}}function je(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function Pe(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&De(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),He(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function He(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,r=(t%(n=12)+n)%n;return e+=(t-r)/12,1===r?De(e)?29:28:31-r%7%2}xe=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function Ue(e,t,n){var r=7+t-n,a=(7+ze(e,0,r).getUTCDay()-t)%7;return-a+r-1}function qe(e,t,n,r,a){var i,s,o=(7+n-r)%7,u=Ue(e,r,a),l=1+7*(t-1)+o+u;return l<=0?s=Te(i=e-1)+l:l>Te(e)?(i=e+1,s=l-Te(e)):(i=e,s=l),{year:i,dayOfYear:s}}function Be(e,t,n){var r,a,i=Ue(e.year(),t,n),s=Math.floor((e.dayOfYear()-i-1)/7)+1;return s<1?(a=e.year()-1,r=s+Ve(a,t,n)):s>Ve(e.year(),t,n)?(r=s-Ve(e.year(),t,n),a=e.year()+1):(a=e.year(),r=s),{week:r,year:a}}function Ve(e,t,n){var r=Ue(e,t,n),a=Ue(e+1,t,n);return(Te(e)-r+a)/7}function Je(e,t){return e.slice(t,7).concat(e.slice(0,t))}q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),R("week",5),R("isoWeek",5),ce("w",Z),ce("ww",Z,G),ce("W",Z),ce("WW",Z,G),me(["w","ww","W","WW"],function(e,t,n,r){t[r.substr(0,1)]=k(e)}),q("d",0,"do","day"),q("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),q("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),q("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),R("day",11),R("weekday",11),R("isoWeekday",11),ce("d",Z),ce("e",Z),ce("E",Z),ce("dd",function(e,t){return t.weekdaysMinRegex(e)}),ce("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ce("dddd",function(e,t){return t.weekdaysRegex(e)}),me(["dd","ddd","dddd"],function(e,t,n,r){var a=n._locale.weekdaysParse(e,r,n._strict);null!=a?t.d=a:_(n).invalidWeekday=e}),me(["d","e","E"],function(e,t,n,r){t[r]=k(e)});var Ge="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),$e="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ke="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Qe=ue,Ze=ue,Xe=ue;function et(){function e(e,t){return t.length-e.length}var t,n,r,a,i,s=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),r=this.weekdaysMin(n,""),a=this.weekdaysShort(n,""),i=this.weekdays(n,""),s.push(r),o.push(a),u.push(i),l.push(r),l.push(a),l.push(i);for(s.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=fe(o[t]),u[t]=fe(u[t]),l[t]=fe(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function tt(){return this.hours()%12||12}function nt(e,t){q(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function rt(e,t){return t._meridiemParse}q("H",["HH",2],0,"hour"),q("h",["hh",2],0,tt),q("k",["kk",2],0,function(){return this.hours()||24}),q("hmm",0,0,function(){return""+tt.apply(this)+F(this.minutes(),2)}),q("hmmss",0,0,function(){return""+tt.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+F(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),nt("a",!0),nt("A",!1),O("hour","h"),R("hour",13),ce("a",rt),ce("A",rt),ce("H",Z),ce("h",Z),ce("k",Z),ce("HH",Z,G),ce("hh",Z,G),ce("kk",Z,G),ce("hmm",X),ce("hmmss",ee),ce("Hmm",X),ce("Hmmss",ee),_e(["H","HH"],Me),_e(["k","kk"],function(e,t,n){var r=k(e);t[Me]=24===r?0:r}),_e(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),_e(["h","hh"],function(e,t,n){t[Me]=k(e),_(n).bigHour=!0}),_e("hmm",function(e,t,n){var r=e.length-2;t[Me]=k(e.substr(0,r)),t[be]=k(e.substr(r)),_(n).bigHour=!0}),_e("hmmss",function(e,t,n){var r=e.length-4,a=e.length-2;t[Me]=k(e.substr(0,r)),t[be]=k(e.substr(r,2)),t[Le]=k(e.substr(a)),_(n).bigHour=!0}),_e("Hmm",function(e,t,n){var r=e.length-2;t[Me]=k(e.substr(0,r)),t[be]=k(e.substr(r))}),_e("Hmmss",function(e,t,n){var r=e.length-4,a=e.length-2;t[Me]=k(e.substr(0,r)),t[be]=k(e.substr(r,2)),t[Le]=k(e.substr(a))});var at,it=Ee("Hours",!0),st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ce,monthsShort:Ae,week:{dow:0,doy:6},weekdays:Ge,weekdaysMin:Ke,weekdaysShort:$e,meridiemParse:/[ap]\.?m?\.?/i},ot={},ut={};function lt(e){return e?e.toLowerCase().replace("_","-"):e}function ct(t){var r=null;if(!ot[t]&&void 0!==e&&e&&e.exports)try{r=at._abbr,n(274)("./"+t),dt(r)}catch(e){}return ot[t]}function dt(e,t){var n;return e&&((n=o(t)?ht(e):ft(e,t))?at=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),at._abbr}function ft(e,t){if(null!==t){var n,r=st;if(t.abbr=e,null!=ot[e])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=ot[e]._config;else if(null!=t.parentLocale)if(null!=ot[t.parentLocale])r=ot[t.parentLocale]._config;else{if(null==(n=ct(t.parentLocale)))return ut[t.parentLocale]||(ut[t.parentLocale]=[]),ut[t.parentLocale].push({name:e,config:t}),null;r=n._config}return ot[e]=new P(j(r,t)),ut[e]&&ut[e].forEach(function(e){ft(e.name,e.config)}),dt(e),ot[e]}return delete ot[e],null}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return at;if(!i(e)){if(t=ct(e))return t;e=[e]}return function(e){for(var t,n,r,a,i=0;i0;){if(r=ct(a.slice(0,t).join("-")))return r;if(n&&n.length>=t&&w(a,n,!0)>=t-1)break;t--}i++}return at}(e)}function _t(e){var t,n=e._a;return n&&-2===_(e).overflow&&(t=n[ve]<0||n[ve]>11?ve:n[ge]<1||n[ge]>He(n[ye],n[ve])?ge:n[Me]<0||n[Me]>24||24===n[Me]&&(0!==n[be]||0!==n[Le]||0!==n[ke])?Me:n[be]<0||n[be]>59?be:n[Le]<0||n[Le]>59?Le:n[ke]<0||n[ke]>999?ke:-1,_(e)._overflowDayOfYear&&(tge)&&(t=ge),_(e)._overflowWeeks&&-1===t&&(t=we),_(e)._overflowWeekday&&-1===t&&(t=Ye),_(e).overflow=t),e}function mt(e,t,n){return null!=e?e:null!=t?t:n}function pt(e){var t,n,r,i,s,o=[];if(!e._d){for(r=function(e){var t=new Date(a.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[ge]&&null==e._a[ve]&&function(e){var t,n,r,a,i,s,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)i=1,s=4,n=mt(t.GG,e._a[ye],Be(jt(),1,4).year),r=mt(t.W,1),((a=mt(t.E,1))<1||a>7)&&(u=!0);else{i=e._locale._week.dow,s=e._locale._week.doy;var l=Be(jt(),i,s);n=mt(t.gg,e._a[ye],l.year),r=mt(t.w,l.week),null!=t.d?((a=t.d)<0||a>6)&&(u=!0):null!=t.e?(a=t.e+i,(t.e<0||t.e>6)&&(u=!0)):a=i}r<1||r>Ve(n,i,s)?_(e)._overflowWeeks=!0:null!=u?_(e)._overflowWeekday=!0:(o=qe(n,r,a,i,s),e._a[ye]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(s=mt(e._a[ye],r[ye]),(e._dayOfYear>Te(s)||0===e._dayOfYear)&&(_(e)._overflowDayOfYear=!0),n=ze(s,0,e._dayOfYear),e._a[ve]=n.getUTCMonth(),e._a[ge]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=r[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Me]&&0===e._a[be]&&0===e._a[Le]&&0===e._a[ke]&&(e._nextDay=!0,e._a[Me]=0),e._d=(e._useUTC?ze:function(e,t,n,r,a,i,s){var o;return e<100&&e>=0?(o=new Date(e+400,t,n,r,a,i,s),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,r,a,i,s),o}).apply(null,o),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Me]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(_(e).weekdayMismatch=!0)}}var yt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,vt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,gt=/Z|[+-]\d\d(?::?\d\d)?/,Mt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],bt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Lt=/^\/?Date\((\-?\d+)/i;function kt(e){var t,n,r,a,i,s,o=e._i,u=yt.exec(o)||vt.exec(o);if(u){for(_(e).iso=!0,t=0,n=Mt.length;t0&&_(e).unusedInput.push(s),o=o.slice(o.indexOf(n)+n.length),l+=n.length),U[i]?(n?_(e).empty=!1:_(e).unusedTokens.push(i),pe(i,n,e)):e._strict&&!n&&_(e).unusedTokens.push(i);_(e).charsLeftOver=u-l,o.length>0&&_(e).unusedInput.push(o),e._a[Me]<=12&&!0===_(e).bigHour&&e._a[Me]>0&&(_(e).bigHour=void 0),_(e).parsedDateParts=e._a.slice(0),_(e).meridiem=e._meridiem,e._a[Me]=(c=e._locale,d=e._a[Me],null==(f=e._meridiem)?d:null!=c.meridiemHour?c.meridiemHour(d,f):null!=c.isPM?((h=c.isPM(f))&&d<12&&(d+=12),h||12!==d||(d=0),d):d),pt(e),_t(e)}else Dt(e);else kt(e);var c,d,f,h}function St(e){var t=e._i,n=e._f;return e._locale=e._locale||ht(e._l),null===t||void 0===n&&""===t?p({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),b(t)?new M(_t(t)):(l(t)?e._d=t:i(n)?function(e){var t,n,r,a,i;if(0===e._f.length)return _(e).invalidFormat=!0,void(e._d=new Date(NaN));for(a=0;athis?this:e:p()});function Ot(e,t){var n,r;if(1===t.length&&i(t[0])&&(t=t[0]),!t.length)return jt();for(n=t[0],r=1;r=0?new Date(e+400,t,n)-un:new Date(e,t,n).valueOf()}function dn(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-un:Date.UTC(e,t,n)}function fn(e,t){q(0,[e,e.length],0,t)}function hn(e,t,n,r,a){var i;return null==e?Be(this,r,a).year:(i=Ve(e,r,a),t>i&&(t=i),function(e,t,n,r,a){var i=qe(e,t,n,r,a),s=ze(i.year,0,i.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}.call(this,e,t,n,r,a))}q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),fn("gggg","weekYear"),fn("ggggg","weekYear"),fn("GGGG","isoWeekYear"),fn("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),R("weekYear",1),R("isoWeekYear",1),ce("G",ie),ce("g",ie),ce("GG",Z,G),ce("gg",Z,G),ce("GGGG",ne,K),ce("gggg",ne,K),ce("GGGGG",re,Q),ce("ggggg",re,Q),me(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,r){t[r.substr(0,2)]=k(e)}),me(["gg","GG"],function(e,t,n,r){t[r]=a.parseTwoDigitYear(e)}),q("Q",0,"Qo","quarter"),O("quarter","Q"),R("quarter",7),ce("Q",J),_e("Q",function(e,t){t[ve]=3*(k(e)-1)}),q("D",["DD",2],"Do","date"),O("date","D"),R("date",9),ce("D",Z),ce("DD",Z,G),ce("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),_e(["D","DD"],ge),_e("Do",function(e,t){t[ge]=k(e.match(Z)[0])});var _n=Ee("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),R("dayOfYear",4),ce("DDD",te),ce("DDDD",$),_e(["DDD","DDDD"],function(e,t,n){n._dayOfYear=k(e)}),q("m",["mm",2],0,"minute"),O("minute","m"),R("minute",14),ce("m",Z),ce("mm",Z,G),_e(["m","mm"],be);var mn=Ee("Minutes",!1);q("s",["ss",2],0,"second"),O("second","s"),R("second",15),ce("s",Z),ce("ss",Z,G),_e(["s","ss"],Le);var pn,yn=Ee("Seconds",!1);for(q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),O("millisecond","ms"),R("millisecond",16),ce("S",te,J),ce("SS",te,G),ce("SSS",te,$),pn="SSSS";pn.length<=9;pn+="S")ce(pn,ae);function vn(e,t){t[ke]=k(1e3*("0."+e))}for(pn="S";pn.length<=9;pn+="S")_e(pn,vn);var gn=Ee("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var Mn=M.prototype;function bn(e){return e}Mn.add=Zt,Mn.calendar=function(e,t){var n=e||jt(),r=zt(n,this).startOf("day"),i=a.calendarFormat(this,r)||"sameElse",s=t&&(E(t[i])?t[i].call(this,n):t[i]);return this.format(s||this.localeData().calendar(i,this,jt(n)))},Mn.clone=function(){return new M(this)},Mn.diff=function(e,t,n){var r,a,i;if(!this.isValid())return NaN;if(!(r=zt(e,this)).isValid())return NaN;switch(a=6e4*(r.utcOffset()-this.utcOffset()),t=C(t)){case"year":i=en(this,r)/12;break;case"month":i=en(this,r);break;case"quarter":i=en(this,r)/3;break;case"second":i=(this-r)/1e3;break;case"minute":i=(this-r)/6e4;break;case"hour":i=(this-r)/36e5;break;case"day":i=(this-r-a)/864e5;break;case"week":i=(this-r-a)/6048e5;break;default:i=this-r}return n?i:L(i)},Mn.endOf=function(e){var t;if(void 0===(e=C(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?dn:cn;switch(e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=on-ln(t+(this._isUTC?0:this.utcOffset()*sn),on)-1;break;case"minute":t=this._d.valueOf(),t+=sn-ln(t,sn)-1;break;case"second":t=this._d.valueOf(),t+=an-ln(t,an)-1}return this._d.setTime(t),a.updateOffset(this,!0),this},Mn.format=function(e){e||(e=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var t=B(this,e);return this.localeData().postformat(t)},Mn.from=function(e,t){return this.isValid()&&(b(e)&&e.isValid()||jt(e).isValid())?Jt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},Mn.fromNow=function(e){return this.from(jt(),e)},Mn.to=function(e,t){return this.isValid()&&(b(e)&&e.isValid()||jt(e).isValid())?Jt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},Mn.toNow=function(e){return this.to(jt(),e)},Mn.get=function(e){return E(this[e=C(e)])?this[e]():this},Mn.invalidAt=function(){return _(this).overflow},Mn.isAfter=function(e,t){var n=b(e)?e:jt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=C(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()9999?B(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):E(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",B(n,"Z")):B(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Mn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a=t+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+a)},Mn.toJSON=function(){return this.isValid()?this.toISOString():null},Mn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Mn.unix=function(){return Math.floor(this.valueOf()/1e3)},Mn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Mn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Mn.year=Se,Mn.isLeapYear=function(){return De(this.year())},Mn.weekYear=function(e){return hn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Mn.isoWeekYear=function(e){return hn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},Mn.quarter=Mn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},Mn.month=Re,Mn.daysInMonth=function(){return He(this.year(),this.month())},Mn.week=Mn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},Mn.isoWeek=Mn.isoWeeks=function(e){var t=Be(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},Mn.weeksInYear=function(){var e=this.localeData()._week;return Ve(this.year(),e.dow,e.doy)},Mn.isoWeeksInYear=function(){return Ve(this.year(),1,4)},Mn.date=_n,Mn.day=Mn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},Mn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},Mn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},Mn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},Mn.hour=Mn.hours=it,Mn.minute=Mn.minutes=mn,Mn.second=Mn.seconds=yn,Mn.millisecond=Mn.milliseconds=gn,Mn.utcOffset=function(e,t,n){var r,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=It(oe,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(r=Ut(this)),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==e&&(!t||this._changeInProgress?Qt(this,Jt(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:Ut(this)},Mn.utc=function(e){return this.utcOffset(0,e)},Mn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Ut(this),"m")),this},Mn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=It(se,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},Mn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?jt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},Mn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Mn.isLocal=function(){return!!this.isValid()&&!this._isUTC},Mn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Mn.isUtc=qt,Mn.isUTC=qt,Mn.zoneAbbr=function(){return this._isUTC?"UTC":""},Mn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Mn.dates=T("dates accessor is deprecated. Use date instead.",_n),Mn.months=T("months accessor is deprecated. Use month instead",Re),Mn.years=T("years accessor is deprecated. Use year instead",Se),Mn.zone=T("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),Mn.isDSTShifted=T("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e={};if(v(e,this),(e=St(e))._a){var t=e._isUTC?h(e._a):jt(e._a);this._isDSTShifted=this.isValid()&&w(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var Ln=P.prototype;function kn(e,t,n,r){var a=ht(),i=h().set(r,t);return a[n](i,e)}function wn(e,t,n){if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return kn(e,t,n,"month");var r,a=[];for(r=0;r<12;r++)a[r]=kn(e,r,n,"month");return a}function Yn(e,t,n,r){"boolean"==typeof e?(u(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,u(t)&&(n=t,t=void 0),t=t||"");var a,i=ht(),s=e?i._week.dow:0;if(null!=n)return kn(t,(n+s)%7,r,"day");var o=[];for(a=0;a<7;a++)o[a]=kn(t,(a+s)%7,r,"day");return o}Ln.calendar=function(e,t,n){var r=this._calendar[e]||this._calendar.sameElse;return E(r)?r.call(t,n):r},Ln.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},Ln.invalidDate=function(){return this._invalidDate},Ln.ordinal=function(e){return this._ordinal.replace("%d",e)},Ln.preparse=bn,Ln.postformat=bn,Ln.relativeTime=function(e,t,n,r){var a=this._relativeTime[n];return E(a)?a(e,t,n,r):a.replace(/%d/i,e)},Ln.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return E(n)?n(t):n.replace(/%s/i,t)},Ln.set=function(e){var t,n;for(n in e)E(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Ln.months=function(e,t){return e?i(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Oe).test(t)?"format":"standalone"][e.month()]:i(this._months)?this._months:this._months.standalone},Ln.monthsShort=function(e,t){return e?i(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Oe.test(t)?"format":"standalone"][e.month()]:i(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Ln.monthsParse=function(e,t,n){var r,a,i;if(this._monthsParseExact)return function(e,t,n){var r,a,i,s=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)i=h([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(i,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(i,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(a=xe.call(this._shortMonthsParse,s))?a:null:-1!==(a=xe.call(this._longMonthsParse,s))?a:null:"MMM"===t?-1!==(a=xe.call(this._shortMonthsParse,s))?a:-1!==(a=xe.call(this._longMonthsParse,s))?a:null:-1!==(a=xe.call(this._longMonthsParse,s))?a:-1!==(a=xe.call(this._shortMonthsParse,s))?a:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(a=h([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(a,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(a,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(i="^"+this.months(a,"")+"|^"+this.monthsShort(a,""),this._monthsParse[r]=new RegExp(i.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[r].test(e))return r;if(n&&"MMM"===t&&this._shortMonthsParse[r].test(e))return r;if(!n&&this._monthsParse[r].test(e))return r}},Ln.monthsRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||Ie.call(this),e?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=We),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},Ln.monthsShortRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||Ie.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=Fe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},Ln.week=function(e){return Be(e,this._week.dow,this._week.doy).week},Ln.firstDayOfYear=function(){return this._week.doy},Ln.firstDayOfWeek=function(){return this._week.dow},Ln.weekdays=function(e,t){var n=i(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Je(n,this._week.dow):e?n[e.day()]:n},Ln.weekdaysMin=function(e){return!0===e?Je(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},Ln.weekdaysShort=function(e){return!0===e?Je(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},Ln.weekdaysParse=function(e,t,n){var r,a,i;if(this._weekdaysParseExact)return function(e,t,n){var r,a,i,s=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)i=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(i,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(i,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(i,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(a=xe.call(this._weekdaysParse,s))?a:null:"ddd"===t?-1!==(a=xe.call(this._shortWeekdaysParse,s))?a:null:-1!==(a=xe.call(this._minWeekdaysParse,s))?a:null:"dddd"===t?-1!==(a=xe.call(this._weekdaysParse,s))?a:-1!==(a=xe.call(this._shortWeekdaysParse,s))?a:-1!==(a=xe.call(this._minWeekdaysParse,s))?a:null:"ddd"===t?-1!==(a=xe.call(this._shortWeekdaysParse,s))?a:-1!==(a=xe.call(this._weekdaysParse,s))?a:-1!==(a=xe.call(this._minWeekdaysParse,s))?a:null:-1!==(a=xe.call(this._minWeekdaysParse,s))?a:-1!==(a=xe.call(this._weekdaysParse,s))?a:-1!==(a=xe.call(this._shortWeekdaysParse,s))?a:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(a=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(i="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[r]=new RegExp(i.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&"ddd"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&"dd"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}},Ln.weekdaysRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||et.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Qe),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},Ln.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||et.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ze),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Ln.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||et.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Xe),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Ln.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},Ln.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},dt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===k(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),a.lang=T("moment.lang is deprecated. Use moment.locale instead.",dt),a.langData=T("moment.langData is deprecated. Use moment.localeData instead.",ht);var Tn=Math.abs;function Dn(e,t,n,r){var a=Jt(t,n);return e._milliseconds+=r*a._milliseconds,e._days+=r*a._days,e._months+=r*a._months,e._bubble()}function xn(e){return e<0?Math.floor(e):Math.ceil(e)}function Sn(e){return 4800*e/146097}function En(e){return 146097*e/4800}function jn(e){return function(){return this.as(e)}}var Pn=jn("ms"),Hn=jn("s"),On=jn("m"),Cn=jn("h"),An=jn("d"),Nn=jn("w"),Rn=jn("M"),Fn=jn("Q"),Wn=jn("y");function In(e){return function(){return this.isValid()?this._data[e]:NaN}}var zn=In("milliseconds"),Un=In("seconds"),qn=In("minutes"),Bn=In("hours"),Vn=In("days"),Jn=In("months"),Gn=In("years"),$n=Math.round,Kn={ss:44,s:45,m:45,h:22,d:26,M:11},Qn=Math.abs;function Zn(e){return(e>0)-(e<0)||+e}function Xn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Qn(this._milliseconds)/1e3,r=Qn(this._days),a=Qn(this._months);e=L(n/60),t=L(e/60),n%=60,e%=60;var i=L(a/12),s=a%=12,o=r,u=t,l=e,c=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var f=d<0?"-":"",h=Zn(this._months)!==Zn(d)?"-":"",_=Zn(this._days)!==Zn(d)?"-":"",m=Zn(this._milliseconds)!==Zn(d)?"-":"";return f+"P"+(i?h+i+"Y":"")+(s?h+s+"M":"")+(o?_+o+"D":"")+(u||l||c?"T":"")+(u?m+u+"H":"")+(l?m+l+"M":"")+(c?m+c+"S":"")}var er=At.prototype;return er.isValid=function(){return this._isValid},er.abs=function(){var e=this._data;return this._milliseconds=Tn(this._milliseconds),this._days=Tn(this._days),this._months=Tn(this._months),e.milliseconds=Tn(e.milliseconds),e.seconds=Tn(e.seconds),e.minutes=Tn(e.minutes),e.hours=Tn(e.hours),e.months=Tn(e.months),e.years=Tn(e.years),this},er.add=function(e,t){return Dn(this,e,t,1)},er.subtract=function(e,t){return Dn(this,e,t,-1)},er.as=function(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if("month"===(e=C(e))||"quarter"===e||"year"===e)switch(t=this._days+r/864e5,n=this._months+Sn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(En(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return 24*t+r/36e5;case"minute":return 1440*t+r/6e4;case"second":return 86400*t+r/1e3;case"millisecond":return Math.floor(864e5*t)+r;default:throw new Error("Unknown unit "+e)}},er.asMilliseconds=Pn,er.asSeconds=Hn,er.asMinutes=On,er.asHours=Cn,er.asDays=An,er.asWeeks=Nn,er.asMonths=Rn,er.asQuarters=Fn,er.asYears=Wn,er.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},er._bubble=function(){var e,t,n,r,a,i=this._milliseconds,s=this._days,o=this._months,u=this._data;return i>=0&&s>=0&&o>=0||i<=0&&s<=0&&o<=0||(i+=864e5*xn(En(o)+s),s=0,o=0),u.milliseconds=i%1e3,e=L(i/1e3),u.seconds=e%60,t=L(e/60),u.minutes=t%60,n=L(t/60),u.hours=n%24,s+=L(n/24),a=L(Sn(s)),o+=a,s-=xn(En(a)),r=L(o/12),o%=12,u.days=s,u.months=o,u.years=r,this},er.clone=function(){return Jt(this)},er.get=function(e){return e=C(e),this.isValid()?this[e+"s"]():NaN},er.milliseconds=zn,er.seconds=Un,er.minutes=qn,er.hours=Bn,er.days=Vn,er.weeks=function(){return L(this.days()/7)},er.months=Jn,er.years=Gn,er.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var r=Jt(e).abs(),a=$n(r.as("s")),i=$n(r.as("m")),s=$n(r.as("h")),o=$n(r.as("d")),u=$n(r.as("M")),l=$n(r.as("y")),c=a<=Kn.ss&&["s",a]||a0,c[4]=n,function(e,t,n,r,a){return a.relativeTime(t||1,!!n,e,r)}.apply(null,c)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},er.toISOString=Xn,er.toString=Xn,er.toJSON=Xn,er.locale=tn,er.localeData=rn,er.toIsoString=T("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Xn),er.lang=nn,q("X",0,0,"unix"),q("x",0,0,"valueOf"),ce("x",ie),ce("X",/[+-]?\d+(\.\d{1,3})?/),_e("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),_e("x",function(e,t,n){n._d=new Date(k(e))}),a.version="2.24.0",t=jt,a.fn=Mn,a.min=function(){return Ot("isBefore",[].slice.call(arguments,0))},a.max=function(){return Ot("isAfter",[].slice.call(arguments,0))},a.now=function(){return Date.now?Date.now():+new Date},a.utc=h,a.unix=function(e){return jt(1e3*e)},a.months=function(e,t){return wn(e,t,"months")},a.isDate=l,a.locale=dt,a.invalid=p,a.duration=Jt,a.isMoment=b,a.weekdays=function(e,t,n){return Yn(e,t,n,"weekdays")},a.parseZone=function(){return jt.apply(null,arguments).parseZone()},a.localeData=ht,a.isDuration=Nt,a.monthsShort=function(e,t){return wn(e,t,"monthsShort")},a.weekdaysMin=function(e,t,n){return Yn(e,t,n,"weekdaysMin")},a.defineLocale=ft,a.updateLocale=function(e,t){if(null!=t){var n,r,a=st;null!=(r=ct(e))&&(a=r._config),t=j(a,t),(n=new P(t)).parentLocale=ot[e],ot[e]=n,dt(e)}else null!=ot[e]&&(null!=ot[e].parentLocale?ot[e]=ot[e].parentLocale:null!=ot[e]&&delete ot[e]);return ot[e]},a.locales=function(){return D(ot)},a.weekdaysShort=function(e,t,n){return Yn(e,t,n,"weekdaysShort")},a.normalizeUnits=C,a.relativeTimeRounding=function(e){return void 0===e?$n:"function"==typeof e&&($n=e,!0)},a.relativeTimeThreshold=function(e,t){return void 0!==Kn[e]&&(void 0===t?Kn[e]:(Kn[e]=t,"s"===e&&(Kn.ss=t-1),!0))},a.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},a.prototype=Mn,a.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},a}()}).call(this,n(85)(e))},function(e,t,n){(function(e){var r; +!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=246)}([function(e,t,n){"use strict";e.exports=n(182)},function(e,t,n){(function(e){e.exports=function(){"use strict";var t,r;function a(){return t.apply(null,arguments)}function i(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function s(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function o(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function c(e,t){var n,r=[];for(n=0;n>>0,r=0;r0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+r}var W=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,I=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z={},U={};function q(e,t,n,r){var a=r;"string"==typeof r&&(a=function(){return this[r]()}),e&&(U[e]=a),t&&(U[t[0]]=function(){return F(a.apply(this,arguments),t[1],t[2])}),n&&(U[n]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function B(e,t){return e.isValid()?(t=V(t,e.localeData()),z[t]=z[t]||function(e){var t,n,r,a=e.match(W);for(t=0,n=a.length;t=0&&I.test(e);)e=e.replace(I,r),I.lastIndex=0,n-=1;return e}var J=/\d/,G=/\d\d/,$=/\d{3}/,K=/\d{4}/,Q=/[+-]?\d{6}/,Z=/\d\d?/,X=/\d\d\d\d?/,ee=/\d\d\d\d\d\d?/,te=/\d{1,3}/,ne=/\d{1,4}/,re=/[+-]?\d{1,6}/,ae=/\d+/,ie=/[+-]?\d+/,se=/Z|[+-]\d\d:?\d\d/gi,oe=/Z|[+-]\d\d(?::?\d\d)?/gi,ue=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,le={};function ce(e,t,n){le[e]=E(t)?t:function(e,r){return e&&n?n:t}}function de(e,t){return d(le,e)?le[e](t._strict,t._locale):new RegExp(fe(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,n,r,a){return t||n||r||a}))))}function fe(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var he={};function _e(e,t){var n,r=t;for("string"==typeof e&&(e=[e]),u(t)&&(r=function(e,n){n[t]=k(e)}),n=0;n68?1900:2e3)};var ge,be=Me("FullYear",!0);function Me(e,t){return function(n){return null!=n?(ke(this,e,n),a.updateOffset(this,t),this):Le(this,e)}}function Le(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function ke(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&ve(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),we(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function we(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,r=(t%(n=12)+n)%n;return e+=(t-r)/12,1===r?ve(e)?29:28:31-r%7%2}ge=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0?(o=new Date(e+400,t,n,r,a,i,s),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,r,a,i,s),o}function Ce(e){var t;if(e<100&&e>=0){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function Ae(e,t,n){var r=7+t-n;return-(7+Ce(e,0,r).getUTCDay()-t)%7+r-1}function Re(e,t,n,r,a){var i,s,o=1+7*(t-1)+(7+n-r)%7+Ae(e,r,a);return o<=0?s=ye(i=e-1)+o:o>ye(e)?(i=e+1,s=o-ye(e)):(i=e,s=o),{year:i,dayOfYear:s}}function Ne(e,t,n){var r,a,i=Ae(e.year(),t,n),s=Math.floor((e.dayOfYear()-i-1)/7)+1;return s<1?r=s+Fe(a=e.year()-1,t,n):s>Fe(e.year(),t,n)?(r=s-Fe(e.year(),t,n),a=e.year()+1):(a=e.year(),r=s),{week:r,year:a}}function Fe(e,t,n){var r=Ae(e,t,n),a=Ae(e+1,t,n);return(ye(e)-r+a)/7}function We(e,t){return e.slice(t,7).concat(e.slice(0,t))}q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),N("week",5),N("isoWeek",5),ce("w",Z),ce("ww",Z,G),ce("W",Z),ce("WW",Z,G),me(["w","ww","W","WW"],(function(e,t,n,r){t[r.substr(0,1)]=k(e)})),q("d",0,"do","day"),q("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),q("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),q("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),N("day",11),N("weekday",11),N("isoWeekday",11),ce("d",Z),ce("e",Z),ce("E",Z),ce("dd",(function(e,t){return t.weekdaysMinRegex(e)})),ce("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),ce("dddd",(function(e,t){return t.weekdaysRegex(e)})),me(["dd","ddd","dddd"],(function(e,t,n,r){var a=n._locale.weekdaysParse(e,r,n._strict);null!=a?t.d=a:_(n).invalidWeekday=e})),me(["d","e","E"],(function(e,t,n,r){t[r]=k(e)}));var Ie="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ue="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function qe(e,t,n){var r,a,i,s=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)i=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(i,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(i,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(i,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(a=ge.call(this._weekdaysParse,s))?a:null:"ddd"===t?-1!==(a=ge.call(this._shortWeekdaysParse,s))?a:null:-1!==(a=ge.call(this._minWeekdaysParse,s))?a:null:"dddd"===t?-1!==(a=ge.call(this._weekdaysParse,s))?a:-1!==(a=ge.call(this._shortWeekdaysParse,s))?a:-1!==(a=ge.call(this._minWeekdaysParse,s))?a:null:"ddd"===t?-1!==(a=ge.call(this._shortWeekdaysParse,s))?a:-1!==(a=ge.call(this._weekdaysParse,s))?a:-1!==(a=ge.call(this._minWeekdaysParse,s))?a:null:-1!==(a=ge.call(this._minWeekdaysParse,s))?a:-1!==(a=ge.call(this._weekdaysParse,s))?a:-1!==(a=ge.call(this._shortWeekdaysParse,s))?a:null}var Be=ue,Ve=ue,Je=ue;function Ge(){function e(e,t){return t.length-e.length}var t,n,r,a,i,s=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),r=this.weekdaysMin(n,""),a=this.weekdaysShort(n,""),i=this.weekdays(n,""),s.push(r),o.push(a),u.push(i),l.push(r),l.push(a),l.push(i);for(s.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=fe(o[t]),u[t]=fe(u[t]),l[t]=fe(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function $e(){return this.hours()%12||12}function Ke(e,t){q(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function Qe(e,t){return t._meridiemParse}q("H",["HH",2],0,"hour"),q("h",["hh",2],0,$e),q("k",["kk",2],0,(function(){return this.hours()||24})),q("hmm",0,0,(function(){return""+$e.apply(this)+F(this.minutes(),2)})),q("hmmss",0,0,(function(){return""+$e.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)})),q("Hmm",0,0,(function(){return""+this.hours()+F(this.minutes(),2)})),q("Hmmss",0,0,(function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)})),Ke("a",!0),Ke("A",!1),O("hour","h"),N("hour",13),ce("a",Qe),ce("A",Qe),ce("H",Z),ce("h",Z),ce("k",Z),ce("HH",Z,G),ce("hh",Z,G),ce("kk",Z,G),ce("hmm",X),ce("hmmss",ee),ce("Hmm",X),ce("Hmmss",ee),_e(["H","HH"],3),_e(["k","kk"],(function(e,t,n){var r=k(e);t[3]=24===r?0:r})),_e(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),_e(["h","hh"],(function(e,t,n){t[3]=k(e),_(n).bigHour=!0})),_e("hmm",(function(e,t,n){var r=e.length-2;t[3]=k(e.substr(0,r)),t[4]=k(e.substr(r)),_(n).bigHour=!0})),_e("hmmss",(function(e,t,n){var r=e.length-4,a=e.length-2;t[3]=k(e.substr(0,r)),t[4]=k(e.substr(r,2)),t[5]=k(e.substr(a)),_(n).bigHour=!0})),_e("Hmm",(function(e,t,n){var r=e.length-2;t[3]=k(e.substr(0,r)),t[4]=k(e.substr(r))})),_e("Hmmss",(function(e,t,n){var r=e.length-4,a=e.length-2;t[3]=k(e.substr(0,r)),t[4]=k(e.substr(r,2)),t[5]=k(e.substr(a))}));var Ze,Xe=Me("Hours",!0),et={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Te,monthsShort:De,week:{dow:0,doy:6},weekdays:Ie,weekdaysMin:Ue,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},tt={},nt={};function rt(e){return e?e.toLowerCase().replace("_","-"):e}function at(t){var r=null;if(!tt[t]&&void 0!==e&&e&&e.exports)try{r=Ze._abbr,n(188)("./"+t),it(r)}catch(e){}return tt[t]}function it(e,t){var n;return e&&((n=o(t)?ot(e):st(e,t))?Ze=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),Ze._abbr}function st(e,t){if(null!==t){var n,r=et;if(t.abbr=e,null!=tt[e])x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=tt[e]._config;else if(null!=t.parentLocale)if(null!=tt[t.parentLocale])r=tt[t.parentLocale]._config;else{if(null==(n=at(t.parentLocale)))return nt[t.parentLocale]||(nt[t.parentLocale]=[]),nt[t.parentLocale].push({name:e,config:t}),null;r=n._config}return tt[e]=new P(j(r,t)),nt[e]&&nt[e].forEach((function(e){st(e.name,e.config)})),it(e),tt[e]}return delete tt[e],null}function ot(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Ze;if(!i(e)){if(t=at(e))return t;e=[e]}return function(e){for(var t,n,r,a,i=0;i0;){if(r=at(a.slice(0,t).join("-")))return r;if(n&&n.length>=t&&w(a,n,!0)>=t-1)break;t--}i++}return Ze}(e)}function ut(e){var t,n=e._a;return n&&-2===_(e).overflow&&(t=n[1]<0||n[1]>11?1:n[2]<1||n[2]>we(n[0],n[1])?2:n[3]<0||n[3]>24||24===n[3]&&(0!==n[4]||0!==n[5]||0!==n[6])?3:n[4]<0||n[4]>59?4:n[5]<0||n[5]>59?5:n[6]<0||n[6]>999?6:-1,_(e)._overflowDayOfYear&&(t<0||t>2)&&(t=2),_(e)._overflowWeeks&&-1===t&&(t=7),_(e)._overflowWeekday&&-1===t&&(t=8),_(e).overflow=t),e}function lt(e,t,n){return null!=e?e:null!=t?t:n}function ct(e){var t,n,r,i,s,o=[];if(!e._d){for(r=function(e){var t=new Date(a.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[2]&&null==e._a[1]&&function(e){var t,n,r,a,i,s,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)i=1,s=4,n=lt(t.GG,e._a[0],Ne(Yt(),1,4).year),r=lt(t.W,1),((a=lt(t.E,1))<1||a>7)&&(u=!0);else{i=e._locale._week.dow,s=e._locale._week.doy;var l=Ne(Yt(),i,s);n=lt(t.gg,e._a[0],l.year),r=lt(t.w,l.week),null!=t.d?((a=t.d)<0||a>6)&&(u=!0):null!=t.e?(a=t.e+i,(t.e<0||t.e>6)&&(u=!0)):a=i}r<1||r>Fe(n,i,s)?_(e)._overflowWeeks=!0:null!=u?_(e)._overflowWeekday=!0:(o=Re(n,r,a,i,s),e._a[0]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(s=lt(e._a[0],r[0]),(e._dayOfYear>ye(s)||0===e._dayOfYear)&&(_(e)._overflowDayOfYear=!0),n=Ce(s,0,e._dayOfYear),e._a[1]=n.getUTCMonth(),e._a[2]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=r[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[3]&&0===e._a[4]&&0===e._a[5]&&0===e._a[6]&&(e._nextDay=!0,e._a[3]=0),e._d=(e._useUTC?Ce:Oe).apply(null,o),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[3]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(_(e).weekdayMismatch=!0)}}var dt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ft=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ht=/Z|[+-]\d\d(?::?\d\d)?/,_t=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],mt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pt=/^\/?Date\((\-?\d+)/i;function yt(e){var t,n,r,a,i,s,o=e._i,u=dt.exec(o)||ft.exec(o);if(u){for(_(e).iso=!0,t=0,n=_t.length;t0&&_(e).unusedInput.push(s),o=o.slice(o.indexOf(n)+n.length),l+=n.length),U[i]?(n?_(e).empty=!1:_(e).unusedTokens.push(i),pe(i,n,e)):e._strict&&!n&&_(e).unusedTokens.push(i);_(e).charsLeftOver=u-l,o.length>0&&_(e).unusedInput.push(o),e._a[3]<=12&&!0===_(e).bigHour&&e._a[3]>0&&(_(e).bigHour=void 0),_(e).parsedDateParts=e._a.slice(0),_(e).meridiem=e._meridiem,e._a[3]=function(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((r=e.isPM(n))&&t<12&&(t+=12),r||12!==t||(t=0),t):t}(e._locale,e._a[3],e._meridiem),ct(e),ut(e)}else Mt(e);else yt(e)}function kt(e){var t=e._i,n=e._f;return e._locale=e._locale||ot(e._l),null===t||void 0===n&&""===t?p({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),M(t)?new b(ut(t)):(l(t)?e._d=t:i(n)?function(e){var t,n,r,a,i;if(0===e._f.length)return _(e).invalidFormat=!0,void(e._d=new Date(NaN));for(a=0;athis?this:e:p()}));function St(e,t){var n,r;if(1===t.length&&i(t[0])&&(t=t[0]),!t.length)return Yt();for(n=t[0],r=1;r=0?new Date(e+400,t,n)-126227808e5:new Date(e,t,n).valueOf()}function en(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-126227808e5:Date.UTC(e,t,n)}function tn(e,t){q(0,[e,e.length],0,t)}function nn(e,t,n,r,a){var i;return null==e?Ne(this,r,a).year:(t>(i=Fe(e,r,a))&&(t=i),rn.call(this,e,t,n,r,a))}function rn(e,t,n,r,a){var i=Re(e,t,n,r,a),s=Ce(i.year,0,i.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}q(0,["gg",2],0,(function(){return this.weekYear()%100})),q(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),tn("gggg","weekYear"),tn("ggggg","weekYear"),tn("GGGG","isoWeekYear"),tn("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),N("weekYear",1),N("isoWeekYear",1),ce("G",ie),ce("g",ie),ce("GG",Z,G),ce("gg",Z,G),ce("GGGG",ne,K),ce("gggg",ne,K),ce("GGGGG",re,Q),ce("ggggg",re,Q),me(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,r){t[r.substr(0,2)]=k(e)})),me(["gg","GG"],(function(e,t,n,r){t[r]=a.parseTwoDigitYear(e)})),q("Q",0,"Qo","quarter"),O("quarter","Q"),N("quarter",7),ce("Q",J),_e("Q",(function(e,t){t[1]=3*(k(e)-1)})),q("D",["DD",2],"Do","date"),O("date","D"),N("date",9),ce("D",Z),ce("DD",Z,G),ce("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),_e(["D","DD"],2),_e("Do",(function(e,t){t[2]=k(e.match(Z)[0])}));var an=Me("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),N("dayOfYear",4),ce("DDD",te),ce("DDDD",$),_e(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=k(e)})),q("m",["mm",2],0,"minute"),O("minute","m"),N("minute",14),ce("m",Z),ce("mm",Z,G),_e(["m","mm"],4);var sn=Me("Minutes",!1);q("s",["ss",2],0,"second"),O("second","s"),N("second",15),ce("s",Z),ce("ss",Z,G),_e(["s","ss"],5);var on,un=Me("Seconds",!1);for(q("S",0,0,(function(){return~~(this.millisecond()/100)})),q(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),q(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),q(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),q(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),q(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),q(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),O("millisecond","ms"),N("millisecond",16),ce("S",te,J),ce("SS",te,G),ce("SSS",te,$),on="SSSS";on.length<=9;on+="S")ce(on,ae);function ln(e,t){t[6]=k(1e3*("0."+e))}for(on="S";on.length<=9;on+="S")_e(on,ln);var cn=Me("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var dn=b.prototype;function fn(e){return e}dn.add=Vt,dn.calendar=function(e,t){var n=e||Yt(),r=At(n,this).startOf("day"),i=a.calendarFormat(this,r)||"sameElse",s=t&&(E(t[i])?t[i].call(this,n):t[i]);return this.format(s||this.localeData().calendar(i,this,Yt(n)))},dn.clone=function(){return new b(this)},dn.diff=function(e,t,n){var r,a,i;if(!this.isValid())return NaN;if(!(r=At(e,this)).isValid())return NaN;switch(a=6e4*(r.utcOffset()-this.utcOffset()),t=C(t)){case"year":i=Gt(this,r)/12;break;case"month":i=Gt(this,r);break;case"quarter":i=Gt(this,r)/3;break;case"second":i=(this-r)/1e3;break;case"minute":i=(this-r)/6e4;break;case"hour":i=(this-r)/36e5;break;case"day":i=(this-r-a)/864e5;break;case"week":i=(this-r-a)/6048e5;break;default:i=this-r}return n?i:L(i)},dn.endOf=function(e){var t;if(void 0===(e=C(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?en:Xt;switch(e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-Zt(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-Zt(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-Zt(t,1e3)-1}return this._d.setTime(t),a.updateOffset(this,!0),this},dn.format=function(e){e||(e=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var t=B(this,e);return this.localeData().postformat(t)},dn.from=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||Yt(e).isValid())?It({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},dn.fromNow=function(e){return this.from(Yt(),e)},dn.to=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||Yt(e).isValid())?It({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},dn.toNow=function(e){return this.to(Yt(),e)},dn.get=function(e){return E(this[e=C(e)])?this[e]():this},dn.invalidAt=function(){return _(this).overflow},dn.isAfter=function(e,t){var n=M(e)?e:Yt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=C(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()9999?B(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):E(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",B(n,"Z")):B(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},dn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a=t+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+a)},dn.toJSON=function(){return this.isValid()?this.toISOString():null},dn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},dn.unix=function(){return Math.floor(this.valueOf()/1e3)},dn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},dn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},dn.year=be,dn.isLeapYear=function(){return ve(this.year())},dn.weekYear=function(e){return nn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},dn.isoWeekYear=function(e){return nn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},dn.quarter=dn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},dn.month=Ee,dn.daysInMonth=function(){return we(this.year(),this.month())},dn.week=dn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},dn.isoWeek=dn.isoWeeks=function(e){var t=Ne(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},dn.weeksInYear=function(){var e=this.localeData()._week;return Fe(this.year(),e.dow,e.doy)},dn.isoWeeksInYear=function(){return Fe(this.year(),1,4)},dn.date=an,dn.day=dn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},dn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},dn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},dn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},dn.hour=dn.hours=Xe,dn.minute=dn.minutes=sn,dn.second=dn.seconds=un,dn.millisecond=dn.milliseconds=cn,dn.utcOffset=function(e,t,n){var r,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=Ct(oe,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(r=Rt(this)),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,"m"),i!==e&&(!t||this._changeInProgress?Bt(this,It(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:Rt(this)},dn.utc=function(e){return this.utcOffset(0,e)},dn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Rt(this),"m")),this},dn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Ct(se,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},dn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Yt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},dn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},dn.isLocal=function(){return!!this.isValid()&&!this._isUTC},dn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},dn.isUtc=Nt,dn.isUTC=Nt,dn.zoneAbbr=function(){return this._isUTC?"UTC":""},dn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},dn.dates=T("dates accessor is deprecated. Use date instead.",an),dn.months=T("months accessor is deprecated. Use month instead",Ee),dn.years=T("years accessor is deprecated. Use year instead",be),dn.zone=T("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()})),dn.isDSTShifted=T("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e={};if(v(e,this),(e=kt(e))._a){var t=e._isUTC?h(e._a):Yt(e._a);this._isDSTShifted=this.isValid()&&w(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var hn=P.prototype;function _n(e,t,n,r){var a=ot(),i=h().set(r,t);return a[n](i,e)}function mn(e,t,n){if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return _n(e,t,n,"month");var r,a=[];for(r=0;r<12;r++)a[r]=_n(e,r,n,"month");return a}function pn(e,t,n,r){"boolean"==typeof e?(u(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,u(t)&&(n=t,t=void 0),t=t||"");var a,i=ot(),s=e?i._week.dow:0;if(null!=n)return _n(t,(n+s)%7,r,"day");var o=[];for(a=0;a<7;a++)o[a]=_n(t,(a+s)%7,r,"day");return o}hn.calendar=function(e,t,n){var r=this._calendar[e]||this._calendar.sameElse;return E(r)?r.call(t,n):r},hn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,(function(e){return e.slice(1)})),this._longDateFormat[e])},hn.invalidDate=function(){return this._invalidDate},hn.ordinal=function(e){return this._ordinal.replace("%d",e)},hn.preparse=fn,hn.postformat=fn,hn.relativeTime=function(e,t,n,r){var a=this._relativeTime[n];return E(a)?a(e,t,n,r):a.replace(/%d/i,e)},hn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return E(n)?n(t):n.replace(/%s/i,t)},hn.set=function(e){var t,n;for(n in e)E(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},hn.months=function(e,t){return e?i(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Ye).test(t)?"format":"standalone"][e.month()]:i(this._months)?this._months:this._months.standalone},hn.monthsShort=function(e,t){return e?i(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Ye.test(t)?"format":"standalone"][e.month()]:i(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},hn.monthsParse=function(e,t,n){var r,a,i;if(this._monthsParseExact)return Se.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(a=h([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(a,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(a,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(i="^"+this.months(a,"")+"|^"+this.monthsShort(a,""),this._monthsParse[r]=new RegExp(i.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[r].test(e))return r;if(n&&"MMM"===t&&this._shortMonthsParse[r].test(e))return r;if(!n&&this._monthsParse[r].test(e))return r}},hn.monthsRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||He.call(this),e?this._monthsStrictRegex:this._monthsRegex):(d(this,"_monthsRegex")||(this._monthsRegex=Pe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},hn.monthsShortRegex=function(e){return this._monthsParseExact?(d(this,"_monthsRegex")||He.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(d(this,"_monthsShortRegex")||(this._monthsShortRegex=je),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},hn.week=function(e){return Ne(e,this._week.dow,this._week.doy).week},hn.firstDayOfYear=function(){return this._week.doy},hn.firstDayOfWeek=function(){return this._week.dow},hn.weekdays=function(e,t){var n=i(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?We(n,this._week.dow):e?n[e.day()]:n},hn.weekdaysMin=function(e){return!0===e?We(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},hn.weekdaysShort=function(e){return!0===e?We(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},hn.weekdaysParse=function(e,t,n){var r,a,i;if(this._weekdaysParseExact)return qe.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(a=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(i="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[r]=new RegExp(i.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&"ddd"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&"dd"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}},hn.weekdaysRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(d(this,"_weekdaysRegex")||(this._weekdaysRegex=Be),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},hn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(d(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ve),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},hn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(d(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(d(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Je),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},hn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},hn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},it("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===k(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),a.lang=T("moment.lang is deprecated. Use moment.locale instead.",it),a.langData=T("moment.langData is deprecated. Use moment.localeData instead.",ot);var yn=Math.abs;function vn(e,t,n,r){var a=It(t,n);return e._milliseconds+=r*a._milliseconds,e._days+=r*a._days,e._months+=r*a._months,e._bubble()}function gn(e){return e<0?Math.floor(e):Math.ceil(e)}function bn(e){return 4800*e/146097}function Mn(e){return 146097*e/4800}function Ln(e){return function(){return this.as(e)}}var kn=Ln("ms"),wn=Ln("s"),Yn=Ln("m"),Tn=Ln("h"),Dn=Ln("d"),Sn=Ln("w"),xn=Ln("M"),En=Ln("Q"),jn=Ln("y");function Pn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Hn=Pn("milliseconds"),On=Pn("seconds"),Cn=Pn("minutes"),An=Pn("hours"),Rn=Pn("days"),Nn=Pn("months"),Fn=Pn("years"),Wn=Math.round,In={ss:44,s:45,m:45,h:22,d:26,M:11};function zn(e,t,n,r,a){return a.relativeTime(t||1,!!n,e,r)}var Un=Math.abs;function qn(e){return(e>0)-(e<0)||+e}function Bn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Un(this._milliseconds)/1e3,r=Un(this._days),a=Un(this._months);e=L(n/60),t=L(e/60),n%=60,e%=60;var i=L(a/12),s=a%=12,o=r,u=t,l=e,c=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var f=d<0?"-":"",h=qn(this._months)!==qn(d)?"-":"",_=qn(this._days)!==qn(d)?"-":"",m=qn(this._milliseconds)!==qn(d)?"-":"";return f+"P"+(i?h+i+"Y":"")+(s?h+s+"M":"")+(o?_+o+"D":"")+(u||l||c?"T":"")+(u?m+u+"H":"")+(l?m+l+"M":"")+(c?m+c+"S":"")}var Vn=Et.prototype;return Vn.isValid=function(){return this._isValid},Vn.abs=function(){var e=this._data;return this._milliseconds=yn(this._milliseconds),this._days=yn(this._days),this._months=yn(this._months),e.milliseconds=yn(e.milliseconds),e.seconds=yn(e.seconds),e.minutes=yn(e.minutes),e.hours=yn(e.hours),e.months=yn(e.months),e.years=yn(e.years),this},Vn.add=function(e,t){return vn(this,e,t,1)},Vn.subtract=function(e,t){return vn(this,e,t,-1)},Vn.as=function(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if("month"===(e=C(e))||"quarter"===e||"year"===e)switch(t=this._days+r/864e5,n=this._months+bn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Mn(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return 24*t+r/36e5;case"minute":return 1440*t+r/6e4;case"second":return 86400*t+r/1e3;case"millisecond":return Math.floor(864e5*t)+r;default:throw new Error("Unknown unit "+e)}},Vn.asMilliseconds=kn,Vn.asSeconds=wn,Vn.asMinutes=Yn,Vn.asHours=Tn,Vn.asDays=Dn,Vn.asWeeks=Sn,Vn.asMonths=xn,Vn.asQuarters=En,Vn.asYears=jn,Vn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},Vn._bubble=function(){var e,t,n,r,a,i=this._milliseconds,s=this._days,o=this._months,u=this._data;return i>=0&&s>=0&&o>=0||i<=0&&s<=0&&o<=0||(i+=864e5*gn(Mn(o)+s),s=0,o=0),u.milliseconds=i%1e3,e=L(i/1e3),u.seconds=e%60,t=L(e/60),u.minutes=t%60,n=L(t/60),u.hours=n%24,s+=L(n/24),a=L(bn(s)),o+=a,s-=gn(Mn(a)),r=L(o/12),o%=12,u.days=s,u.months=o,u.years=r,this},Vn.clone=function(){return It(this)},Vn.get=function(e){return e=C(e),this.isValid()?this[e+"s"]():NaN},Vn.milliseconds=Hn,Vn.seconds=On,Vn.minutes=Cn,Vn.hours=An,Vn.days=Rn,Vn.weeks=function(){return L(this.days()/7)},Vn.months=Nn,Vn.years=Fn,Vn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var r=It(e).abs(),a=Wn(r.as("s")),i=Wn(r.as("m")),s=Wn(r.as("h")),o=Wn(r.as("d")),u=Wn(r.as("M")),l=Wn(r.as("y")),c=a<=In.ss&&["s",a]||a0,c[4]=n,zn.apply(null,c)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},Vn.toISOString=Bn,Vn.toString=Bn,Vn.toJSON=Bn,Vn.locale=$t,Vn.localeData=Qt,Vn.toIsoString=T("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Bn),Vn.lang=Kt,q("X",0,0,"unix"),q("x",0,0,"valueOf"),ce("x",ie),ce("X",/[+-]?\d+(\.\d{1,3})?/),_e("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))})),_e("x",(function(e,t,n){n._d=new Date(k(e))})),a.version="2.24.0",t=Yt,a.fn=dn,a.min=function(){var e=[].slice.call(arguments,0);return St("isBefore",e)},a.max=function(){var e=[].slice.call(arguments,0);return St("isAfter",e)},a.now=function(){return Date.now?Date.now():+new Date},a.utc=h,a.unix=function(e){return Yt(1e3*e)},a.months=function(e,t){return mn(e,t,"months")},a.isDate=l,a.locale=it,a.invalid=p,a.duration=It,a.isMoment=M,a.weekdays=function(e,t,n){return pn(e,t,n,"weekdays")},a.parseZone=function(){return Yt.apply(null,arguments).parseZone()},a.localeData=ot,a.isDuration=jt,a.monthsShort=function(e,t){return mn(e,t,"monthsShort")},a.weekdaysMin=function(e,t,n){return pn(e,t,n,"weekdaysMin")},a.defineLocale=st,a.updateLocale=function(e,t){if(null!=t){var n,r,a=et;null!=(r=at(e))&&(a=r._config),t=j(a,t),(n=new P(t)).parentLocale=tt[e],tt[e]=n,it(e)}else null!=tt[e]&&(null!=tt[e].parentLocale?tt[e]=tt[e].parentLocale:null!=tt[e]&&delete tt[e]);return tt[e]},a.locales=function(){return D(tt)},a.weekdaysShort=function(e,t,n){return pn(e,t,n,"weekdaysShort")},a.normalizeUnits=C,a.relativeTimeRounding=function(e){return void 0===e?Wn:"function"==typeof e&&(Wn=e,!0)},a.relativeTimeThreshold=function(e,t){return void 0!==In[e]&&(void 0===t?In[e]:(In[e]=t,"s"===e&&(In.ss=t-1),!0))},a.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},a.prototype=dn,a.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},a}()}).call(this,n(30)(e))},function(e,t,n){(function(e){var r; /** * @license * Lodash - * Copyright JS Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(){var a,i=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",o="Expected a function",u="__lodash_hash_undefined__",l=500,c="__lodash_placeholder__",d=1,f=2,h=4,_=1,m=2,p=1,y=2,v=4,g=8,M=16,b=32,L=64,k=128,w=256,Y=512,T=30,D="...",x=800,S=16,E=1,j=2,P=1/0,H=9007199254740991,O=1.7976931348623157e308,C=NaN,A=4294967295,N=A-1,R=A>>>1,F=[["ary",k],["bind",p],["bindKey",y],["curry",g],["curryRight",M],["flip",Y],["partial",b],["partialRight",L],["rearg",w]],W="[object Arguments]",I="[object Array]",z="[object AsyncFunction]",U="[object Boolean]",q="[object Date]",B="[object DOMException]",V="[object Error]",J="[object Function]",G="[object GeneratorFunction]",$="[object Map]",K="[object Number]",Q="[object Null]",Z="[object Object]",X="[object Proxy]",ee="[object RegExp]",te="[object Set]",ne="[object String]",re="[object Symbol]",ae="[object Undefined]",ie="[object WeakMap]",se="[object WeakSet]",oe="[object ArrayBuffer]",ue="[object DataView]",le="[object Float32Array]",ce="[object Float64Array]",de="[object Int8Array]",fe="[object Int16Array]",he="[object Int32Array]",_e="[object Uint8Array]",me="[object Uint8ClampedArray]",pe="[object Uint16Array]",ye="[object Uint32Array]",ve=/\b__p \+= '';/g,ge=/\b(__p \+=) '' \+/g,Me=/(__e\(.*?\)|\b__t\)) \+\n'';/g,be=/&(?:amp|lt|gt|quot|#39);/g,Le=/[&<>"']/g,ke=RegExp(be.source),we=RegExp(Le.source),Ye=/<%-([\s\S]+?)%>/g,Te=/<%([\s\S]+?)%>/g,De=/<%=([\s\S]+?)%>/g,xe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Se=/^\w*$/,Ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,je=/[\\^$.*+?()[\]{}|]/g,Pe=RegExp(je.source),He=/^\s+|\s+$/g,Oe=/^\s+/,Ce=/\s+$/,Ae=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ne=/\{\n\/\* \[wrapped with (.+)\] \*/,Re=/,? & /,Fe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,We=/\\(\\)?/g,Ie=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ze=/\w*$/,Ue=/^[-+]0x[0-9a-f]+$/i,qe=/^0b[01]+$/i,Be=/^\[object .+?Constructor\]$/,Ve=/^0o[0-7]+$/i,Je=/^(?:0|[1-9]\d*)$/,Ge=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,$e=/($^)/,Ke=/['\n\r\u2028\u2029\\]/g,Qe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ze="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Xe="[\\ud800-\\udfff]",et="["+Ze+"]",tt="["+Qe+"]",nt="\\d+",rt="[\\u2700-\\u27bf]",at="[a-z\\xdf-\\xf6\\xf8-\\xff]",it="[^\\ud800-\\udfff"+Ze+nt+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",st="\\ud83c[\\udffb-\\udfff]",ot="[^\\ud800-\\udfff]",ut="(?:\\ud83c[\\udde6-\\uddff]){2}",lt="[\\ud800-\\udbff][\\udc00-\\udfff]",ct="[A-Z\\xc0-\\xd6\\xd8-\\xde]",dt="(?:"+at+"|"+it+")",ft="(?:"+ct+"|"+it+")",ht="(?:"+tt+"|"+st+")"+"?",_t="[\\ufe0e\\ufe0f]?"+ht+("(?:\\u200d(?:"+[ot,ut,lt].join("|")+")[\\ufe0e\\ufe0f]?"+ht+")*"),mt="(?:"+[rt,ut,lt].join("|")+")"+_t,pt="(?:"+[ot+tt+"?",tt,ut,lt,Xe].join("|")+")",yt=RegExp("['’]","g"),vt=RegExp(tt,"g"),gt=RegExp(st+"(?="+st+")|"+pt+_t,"g"),Mt=RegExp([ct+"?"+at+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[et,ct,"$"].join("|")+")",ft+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[et,ct+dt,"$"].join("|")+")",ct+"?"+dt+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ct+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",nt,mt].join("|"),"g"),bt=RegExp("[\\u200d\\ud800-\\udfff"+Qe+"\\ufe0e\\ufe0f]"),Lt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,kt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],wt=-1,Yt={};Yt[le]=Yt[ce]=Yt[de]=Yt[fe]=Yt[he]=Yt[_e]=Yt[me]=Yt[pe]=Yt[ye]=!0,Yt[W]=Yt[I]=Yt[oe]=Yt[U]=Yt[ue]=Yt[q]=Yt[V]=Yt[J]=Yt[$]=Yt[K]=Yt[Z]=Yt[ee]=Yt[te]=Yt[ne]=Yt[ie]=!1;var Tt={};Tt[W]=Tt[I]=Tt[oe]=Tt[ue]=Tt[U]=Tt[q]=Tt[le]=Tt[ce]=Tt[de]=Tt[fe]=Tt[he]=Tt[$]=Tt[K]=Tt[Z]=Tt[ee]=Tt[te]=Tt[ne]=Tt[re]=Tt[_e]=Tt[me]=Tt[pe]=Tt[ye]=!0,Tt[V]=Tt[J]=Tt[ie]=!1;var Dt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},xt=parseFloat,St=parseInt,Et="object"==typeof global&&global&&global.Object===Object&&global,jt="object"==typeof self&&self&&self.Object===Object&&self,Pt=Et||jt||Function("return this")(),Ht=t&&!t.nodeType&&t,Ot=Ht&&"object"==typeof e&&e&&!e.nodeType&&e,Ct=Ot&&Ot.exports===Ht,At=Ct&&Et.process,Nt=function(){try{var e=Ot&&Ot.require&&Ot.require("util").types;return e||At&&At.binding&&At.binding("util")}catch(e){}}(),Rt=Nt&&Nt.isArrayBuffer,Ft=Nt&&Nt.isDate,Wt=Nt&&Nt.isMap,It=Nt&&Nt.isRegExp,zt=Nt&&Nt.isSet,Ut=Nt&&Nt.isTypedArray;function qt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Bt(e,t,n,r){for(var a=-1,i=null==e?0:e.length;++a-1}function Qt(e,t,n){for(var r=-1,a=null==e?0:e.length;++r-1;);return n}function Mn(e,t){for(var n=e.length;n--&&on(t,e[n],0)>-1;);return n}var bn=fn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Ln=fn({"&":"&","<":"<",">":">",'"':""","'":"'"});function kn(e){return"\\"+Dt[e]}function wn(e){return bt.test(e)}function Yn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function Tn(e,t){return function(n){return e(t(n))}}function Dn(e,t){for(var n=-1,r=e.length,a=0,i=[];++n",""":'"',"'":"'"});var Hn=function e(t){var n,r=(t=null==t?Pt:Hn.defaults(Pt.Object(),t,Hn.pick(Pt,kt))).Array,Qe=t.Date,Ze=t.Error,Xe=t.Function,et=t.Math,tt=t.Object,nt=t.RegExp,rt=t.String,at=t.TypeError,it=r.prototype,st=Xe.prototype,ot=tt.prototype,ut=t["__core-js_shared__"],lt=st.toString,ct=ot.hasOwnProperty,dt=0,ft=(n=/[^.]+$/.exec(ut&&ut.keys&&ut.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ht=ot.toString,_t=lt.call(tt),mt=Pt._,pt=nt("^"+lt.call(ct).replace(je,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),gt=Ct?t.Buffer:a,bt=t.Symbol,Dt=t.Uint8Array,Et=gt?gt.allocUnsafe:a,jt=Tn(tt.getPrototypeOf,tt),Ht=tt.create,Ot=ot.propertyIsEnumerable,At=it.splice,Nt=bt?bt.isConcatSpreadable:a,rn=bt?bt.iterator:a,fn=bt?bt.toStringTag:a,On=function(){try{var e=Ri(tt,"defineProperty");return e({},"",{}),e}catch(e){}}(),Cn=t.clearTimeout!==Pt.clearTimeout&&t.clearTimeout,An=Qe&&Qe.now!==Pt.Date.now&&Qe.now,Nn=t.setTimeout!==Pt.setTimeout&&t.setTimeout,Rn=et.ceil,Fn=et.floor,Wn=tt.getOwnPropertySymbols,In=gt?gt.isBuffer:a,zn=t.isFinite,Un=it.join,qn=Tn(tt.keys,tt),Bn=et.max,Vn=et.min,Jn=Qe.now,Gn=t.parseInt,$n=et.random,Kn=it.reverse,Qn=Ri(t,"DataView"),Zn=Ri(t,"Map"),Xn=Ri(t,"Promise"),er=Ri(t,"Set"),tr=Ri(t,"WeakMap"),nr=Ri(tt,"create"),rr=tr&&new tr,ar={},ir=cs(Qn),sr=cs(Zn),or=cs(Xn),ur=cs(er),lr=cs(tr),cr=bt?bt.prototype:a,dr=cr?cr.valueOf:a,fr=cr?cr.toString:a;function hr(e){if(xo(e)&&!yo(e)&&!(e instanceof yr)){if(e instanceof pr)return e;if(ct.call(e,"__wrapped__"))return ds(e)}return new pr(e)}var _r=function(){function e(){}return function(t){if(!Do(t))return{};if(Ht)return Ht(t);e.prototype=t;var n=new e;return e.prototype=a,n}}();function mr(){}function pr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=a}function yr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=A,this.__views__=[]}function vr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Cr(e,t,n,r,i,s){var o,u=t&d,l=t&f,c=t&h;if(n&&(o=i?n(e,r,i,s):n(e)),o!==a)return o;if(!Do(e))return e;var _=yo(e);if(_){if(o=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&ct.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!u)return ni(e,o)}else{var m=Ii(e),p=m==J||m==G;if(bo(e))return Ka(e,u);if(m==Z||m==W||p&&!i){if(o=l||p?{}:Ui(e),!u)return l?function(e,t){return ri(e,Wi(e),t)}(e,function(e,t){return e&&ri(t,iu(t),e)}(o,e)):function(e,t){return ri(e,Fi(e),t)}(e,jr(o,e))}else{if(!Tt[m])return i?e:{};o=function(e,t,n){var r,a,i,s=e.constructor;switch(t){case oe:return Qa(e);case U:case q:return new s(+e);case ue:return function(e,t){var n=t?Qa(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case le:case ce:case de:case fe:case he:case _e:case me:case pe:case ye:return Za(e,n);case $:return new s;case K:case ne:return new s(e);case ee:return(i=new(a=e).constructor(a.source,ze.exec(a))).lastIndex=a.lastIndex,i;case te:return new s;case re:return r=e,dr?tt(dr.call(r)):{}}}(e,m,u)}}s||(s=new Lr);var y=s.get(e);if(y)return y;if(s.set(e,o),Ho(e))return e.forEach(function(r){o.add(Cr(r,t,n,r,e,s))}),o;if(So(e))return e.forEach(function(r,a){o.set(a,Cr(r,t,n,a,e,s))}),o;var v=_?a:(c?l?ji:Ei:l?iu:au)(e);return Vt(v||e,function(r,a){v&&(r=e[a=r]),xr(o,a,Cr(r,t,n,a,e,s))}),o}function Ar(e,t,n){var r=n.length;if(null==e)return!r;for(e=tt(e);r--;){var i=n[r],s=t[i],o=e[i];if(o===a&&!(i in e)||!s(o))return!1}return!0}function Nr(e,t,n){if("function"!=typeof e)throw new at(o);return rs(function(){e.apply(a,n)},t)}function Rr(e,t,n,r){var a=-1,s=Kt,o=!0,u=e.length,l=[],c=t.length;if(!u)return l;n&&(t=Zt(t,pn(n))),r?(s=Qt,o=!1):t.length>=i&&(s=vn,o=!1,t=new br(t));e:for(;++a-1},gr.prototype.set=function(e,t){var n=this.__data__,r=Sr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Mr.prototype.clear=function(){this.size=0,this.__data__={hash:new vr,map:new(Zn||gr),string:new vr}},Mr.prototype.delete=function(e){var t=Ai(this,e).delete(e);return this.size-=t?1:0,t},Mr.prototype.get=function(e){return Ai(this,e).get(e)},Mr.prototype.has=function(e){return Ai(this,e).has(e)},Mr.prototype.set=function(e,t){var n=Ai(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},br.prototype.add=br.prototype.push=function(e){return this.__data__.set(e,u),this},br.prototype.has=function(e){return this.__data__.has(e)},Lr.prototype.clear=function(){this.__data__=new gr,this.size=0},Lr.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Lr.prototype.get=function(e){return this.__data__.get(e)},Lr.prototype.has=function(e){return this.__data__.has(e)},Lr.prototype.set=function(e,t){var n=this.__data__;if(n instanceof gr){var r=n.__data__;if(!Zn||r.length0&&n(o)?t>1?qr(o,t-1,n,r,a):Xt(a,o):r||(a[a.length]=o)}return a}var Br=oi(),Vr=oi(!0);function Jr(e,t){return e&&Br(e,t,au)}function Gr(e,t){return e&&Vr(e,t,au)}function $r(e,t){return $t(t,function(t){return wo(e[t])})}function Kr(e,t){for(var n=0,r=(t=Va(t,e)).length;null!=e&&nt}function ea(e,t){return null!=e&&ct.call(e,t)}function ta(e,t){return null!=e&&t in tt(e)}function na(e,t,n){for(var i=n?Qt:Kt,s=e[0].length,o=e.length,u=o,l=r(o),c=1/0,d=[];u--;){var f=e[u];u&&t&&(f=Zt(f,pn(t))),c=Vn(f.length,c),l[u]=!n&&(t||s>=120&&f.length>=120)?new br(u&&f):a}f=e[0];var h=-1,_=l[0];e:for(;++h=o)return u;var l=n[r];return u*("desc"==l?-1:1)}}return e.index-t.index}(e,t,n)})}function va(e,t,n){for(var r=-1,a=t.length,i={};++r-1;)o!==e&&At.call(o,u,1),At.call(e,u,1);return e}function Ma(e,t){for(var n=e?t.length:0,r=n-1;n--;){var a=t[n];if(n==r||a!==i){var i=a;Bi(a)?At.call(e,a,1):Ra(e,a)}}return e}function ba(e,t){return e+Fn($n()*(t-e+1))}function La(e,t){var n="";if(!e||t<1||t>H)return n;do{t%2&&(n+=e),(t=Fn(t/2))&&(e+=e)}while(t);return n}function ka(e,t){return as(Xi(e,t,Eu),e+"")}function wa(e){return wr(hu(e))}function Ya(e,t){var n=hu(e);return os(n,Or(t,0,n.length))}function Ta(e,t,n,r){if(!Do(e))return e;for(var i=-1,s=(t=Va(t,e)).length,o=s-1,u=e;null!=u&&++ii?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var s=r(i);++a>>1,s=e[i];null!==s&&!Co(s)&&(n?s<=t:s=i){var c=t?null:Li(e);if(c)return xn(c);o=!1,a=vn,l=new br}else l=t?[]:u;e:for(;++r=r?e:Ea(e,t,n)}var $a=Cn||function(e){return Pt.clearTimeout(e)};function Ka(e,t){if(t)return e.slice();var n=e.length,r=Et?Et(n):new e.constructor(n);return e.copy(r),r}function Qa(e){var t=new e.constructor(e.byteLength);return new Dt(t).set(new Dt(e)),t}function Za(e,t){var n=t?Qa(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Xa(e,t){if(e!==t){var n=e!==a,r=null===e,i=e==e,s=Co(e),o=t!==a,u=null===t,l=t==t,c=Co(t);if(!u&&!c&&!s&&e>t||s&&o&&l&&!u&&!c||r&&o&&l||!n&&l||!i)return 1;if(!r&&!s&&!c&&e1?n[i-1]:a,o=i>2?n[2]:a;for(s=e.length>3&&"function"==typeof s?(i--,s):a,o&&Vi(n[0],n[1],o)&&(s=i<3?a:s,i=1),t=tt(t);++r-1?i[s?t[o]:o]:a}}function fi(e){return Si(function(t){var n=t.length,r=n,i=pr.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if("function"!=typeof s)throw new at(o);if(i&&!u&&"wrapper"==Hi(s))var u=new pr([],!0)}for(r=u?r:n;++r1&&g.reverse(),f&&cu))return!1;var c=s.get(e);if(c&&s.get(t))return c==t;var d=-1,f=!0,h=n&m?new br:a;for(s.set(e,t),s.set(t,e);++d-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(Ae,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Vt(F,function(n){var r="_."+n[0];t&n[1]&&!Kt(e,r)&&e.push(r)}),e.sort()}(function(e){var t=e.match(Ne);return t?t[1].split(Re):[]}(r),n)))}function ss(e){var t=0,n=0;return function(){var r=Jn(),i=S-(r-n);if(n=r,i>0){if(++t>=x)return arguments[0]}else t=0;return e.apply(a,arguments)}}function os(e,t){var n=-1,r=e.length,i=r-1;for(t=t===a?r:t;++n1?e[t-1]:a;return n="function"==typeof n?(e.pop(),n):a,js(e,n)});function Rs(e){var t=hr(e);return t.__chain__=!0,t}function Fs(e,t){return t(e)}var Ws=Si(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Hr(t,e)};return!(t>1||this.__actions__.length)&&r instanceof yr&&Bi(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:Fs,args:[i],thisArg:a}),new pr(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(a),e})):this.thru(i)});var Is=ai(function(e,t,n){ct.call(e,n)?++e[n]:Pr(e,n,1)});var zs=di(ms),Us=di(ps);function qs(e,t){return(yo(e)?Vt:Fr)(e,Ci(t,3))}function Bs(e,t){return(yo(e)?Jt:Wr)(e,Ci(t,3))}var Vs=ai(function(e,t,n){ct.call(e,n)?e[n].push(t):Pr(e,n,[t])});var Js=ka(function(e,t,n){var a=-1,i="function"==typeof t,s=go(e)?r(e.length):[];return Fr(e,function(e){s[++a]=i?qt(t,e,n):ra(e,t,n)}),s}),Gs=ai(function(e,t,n){Pr(e,n,t)});function $s(e,t){return(yo(e)?Zt:fa)(e,Ci(t,3))}var Ks=ai(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});var Qs=ka(function(e,t){if(null==e)return[];var n=t.length;return n>1&&Vi(e,t[0],t[1])?t=[]:n>2&&Vi(t[0],t[1],t[2])&&(t=[t[0]]),ya(e,qr(t,1),[])}),Zs=An||function(){return Pt.Date.now()};function Xs(e,t,n){return t=n?a:t,t=e&&null==t?e.length:t,wi(e,k,a,a,a,a,t)}function eo(e,t){var n;if("function"!=typeof t)throw new at(o);return e=Io(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=a),n}}var to=ka(function(e,t,n){var r=p;if(n.length){var a=Dn(n,Oi(to));r|=b}return wi(e,r,t,n,a)}),no=ka(function(e,t,n){var r=p|y;if(n.length){var a=Dn(n,Oi(no));r|=b}return wi(t,r,e,n,a)});function ro(e,t,n){var r,i,s,u,l,c,d=0,f=!1,h=!1,_=!0;if("function"!=typeof e)throw new at(o);function m(t){var n=r,s=i;return r=i=a,d=t,u=e.apply(s,n)}function p(e){var n=e-c;return c===a||n>=t||n<0||h&&e-d>=s}function y(){var e=Zs();if(p(e))return v(e);l=rs(y,function(e){var n=t-(e-c);return h?Vn(n,s-(e-d)):n}(e))}function v(e){return l=a,_&&r?m(e):(r=i=a,u)}function g(){var e=Zs(),n=p(e);if(r=arguments,i=this,c=e,n){if(l===a)return function(e){return d=e,l=rs(y,t),f?m(e):u}(c);if(h)return l=rs(y,t),m(c)}return l===a&&(l=rs(y,t)),u}return t=Uo(t)||0,Do(n)&&(f=!!n.leading,s=(h="maxWait"in n)?Bn(Uo(n.maxWait)||0,t):s,_="trailing"in n?!!n.trailing:_),g.cancel=function(){l!==a&&$a(l),d=0,r=c=i=l=a},g.flush=function(){return l===a?u:v(Zs())},g}var ao=ka(function(e,t){return Nr(e,1,t)}),io=ka(function(e,t,n){return Nr(e,Uo(t)||0,n)});function so(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new at(o);var n=function(){var r=arguments,a=t?t.apply(this,r):r[0],i=n.cache;if(i.has(a))return i.get(a);var s=e.apply(this,r);return n.cache=i.set(a,s)||i,s};return n.cache=new(so.Cache||Mr),n}function oo(e){if("function"!=typeof e)throw new at(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}so.Cache=Mr;var uo=Ja(function(e,t){var n=(t=1==t.length&&yo(t[0])?Zt(t[0],pn(Ci())):Zt(qr(t,1),pn(Ci()))).length;return ka(function(r){for(var a=-1,i=Vn(r.length,n);++a=t}),po=aa(function(){return arguments}())?aa:function(e){return xo(e)&&ct.call(e,"callee")&&!Ot.call(e,"callee")},yo=r.isArray,vo=Rt?pn(Rt):function(e){return xo(e)&&Zr(e)==oe};function go(e){return null!=e&&To(e.length)&&!wo(e)}function Mo(e){return xo(e)&&go(e)}var bo=In||Uu,Lo=Ft?pn(Ft):function(e){return xo(e)&&Zr(e)==q};function ko(e){if(!xo(e))return!1;var t=Zr(e);return t==V||t==B||"string"==typeof e.message&&"string"==typeof e.name&&!jo(e)}function wo(e){if(!Do(e))return!1;var t=Zr(e);return t==J||t==G||t==z||t==X}function Yo(e){return"number"==typeof e&&e==Io(e)}function To(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=H}function Do(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function xo(e){return null!=e&&"object"==typeof e}var So=Wt?pn(Wt):function(e){return xo(e)&&Ii(e)==$};function Eo(e){return"number"==typeof e||xo(e)&&Zr(e)==K}function jo(e){if(!xo(e)||Zr(e)!=Z)return!1;var t=jt(e);if(null===t)return!0;var n=ct.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&<.call(n)==_t}var Po=It?pn(It):function(e){return xo(e)&&Zr(e)==ee};var Ho=zt?pn(zt):function(e){return xo(e)&&Ii(e)==te};function Oo(e){return"string"==typeof e||!yo(e)&&xo(e)&&Zr(e)==ne}function Co(e){return"symbol"==typeof e||xo(e)&&Zr(e)==re}var Ao=Ut?pn(Ut):function(e){return xo(e)&&To(e.length)&&!!Yt[Zr(e)]};var No=gi(da),Ro=gi(function(e,t){return e<=t});function Fo(e){if(!e)return[];if(go(e))return Oo(e)?jn(e):ni(e);if(rn&&e[rn])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[rn]());var t=Ii(e);return(t==$?Yn:t==te?xn:hu)(e)}function Wo(e){return e?(e=Uo(e))===P||e===-P?(e<0?-1:1)*O:e==e?e:0:0===e?e:0}function Io(e){var t=Wo(e),n=t%1;return t==t?n?t-n:t:0}function zo(e){return e?Or(Io(e),0,A):0}function Uo(e){if("number"==typeof e)return e;if(Co(e))return C;if(Do(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Do(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(He,"");var n=qe.test(e);return n||Ve.test(e)?St(e.slice(2),n?2:8):Ue.test(e)?C:+e}function qo(e){return ri(e,iu(e))}function Bo(e){return null==e?"":Aa(e)}var Vo=ii(function(e,t){if(Ki(t)||go(t))ri(t,au(t),e);else for(var n in t)ct.call(t,n)&&xr(e,n,t[n])}),Jo=ii(function(e,t){ri(t,iu(t),e)}),Go=ii(function(e,t,n,r){ri(t,iu(t),e,r)}),$o=ii(function(e,t,n,r){ri(t,au(t),e,r)}),Ko=Si(Hr);var Qo=ka(function(e,t){e=tt(e);var n=-1,r=t.length,i=r>2?t[2]:a;for(i&&Vi(t[0],t[1],i)&&(r=1);++n1),t}),ri(e,ji(e),n),r&&(n=Cr(n,d|f|h,Di));for(var a=t.length;a--;)Ra(n,t[a]);return n});var lu=Si(function(e,t){return null==e?{}:function(e,t){return va(e,t,function(t,n){return eu(e,n)})}(e,t)});function cu(e,t){if(null==e)return{};var n=Zt(ji(e),function(e){return[e]});return t=Ci(t),va(e,n,function(e,n){return t(e,n[0])})}var du=ki(au),fu=ki(iu);function hu(e){return null==e?[]:yn(e,au(e))}var _u=li(function(e,t,n){return t=t.toLowerCase(),e+(n?mu(t):t)});function mu(e){return ku(Bo(e).toLowerCase())}function pu(e){return(e=Bo(e))&&e.replace(Ge,bn).replace(vt,"")}var yu=li(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),vu=li(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),gu=ui("toLowerCase");var Mu=li(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});var bu=li(function(e,t,n){return e+(n?" ":"")+ku(t)});var Lu=li(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),ku=ui("toUpperCase");function wu(e,t,n){return e=Bo(e),(t=n?a:t)===a?function(e){return Lt.test(e)}(e)?function(e){return e.match(Mt)||[]}(e):function(e){return e.match(Fe)||[]}(e):e.match(t)||[]}var Yu=ka(function(e,t){try{return qt(e,a,t)}catch(e){return ko(e)?e:new Ze(e)}}),Tu=Si(function(e,t){return Vt(t,function(t){t=ls(t),Pr(e,t,to(e[t],e))}),e});function Du(e){return function(){return e}}var xu=fi(),Su=fi(!0);function Eu(e){return e}function ju(e){return ua("function"==typeof e?e:Cr(e,d))}var Pu=ka(function(e,t){return function(n){return ra(n,e,t)}}),Hu=ka(function(e,t){return function(n){return ra(e,n,t)}});function Ou(e,t,n){var r=au(t),a=$r(t,r);null!=n||Do(t)&&(a.length||!r.length)||(n=t,t=e,e=this,a=$r(t,au(t)));var i=!(Do(n)&&"chain"in n&&!n.chain),s=wo(e);return Vt(a,function(n){var r=t[n];e[n]=r,s&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__);return(n.__actions__=ni(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Xt([this.value()],arguments))})}),e}function Cu(){}var Au=pi(Zt),Nu=pi(Gt),Ru=pi(nn);function Fu(e){return Ji(e)?dn(ls(e)):function(e){return function(t){return Kr(t,e)}}(e)}var Wu=vi(),Iu=vi(!0);function zu(){return[]}function Uu(){return!1}var qu=mi(function(e,t){return e+t},0),Bu=bi("ceil"),Vu=mi(function(e,t){return e/t},1),Ju=bi("floor");var Gu,$u=mi(function(e,t){return e*t},1),Ku=bi("round"),Qu=mi(function(e,t){return e-t},0);return hr.after=function(e,t){if("function"!=typeof t)throw new at(o);return e=Io(e),function(){if(--e<1)return t.apply(this,arguments)}},hr.ary=Xs,hr.assign=Vo,hr.assignIn=Jo,hr.assignInWith=Go,hr.assignWith=$o,hr.at=Ko,hr.before=eo,hr.bind=to,hr.bindAll=Tu,hr.bindKey=no,hr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return yo(e)?e:[e]},hr.chain=Rs,hr.chunk=function(e,t,n){t=(n?Vi(e,t,n):t===a)?1:Bn(Io(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var s=0,o=0,u=r(Rn(i/t));si?0:i+n),(r=r===a||r>i?i:Io(r))<0&&(r+=i),r=n>r?0:zo(r);n>>0)?(e=Bo(e))&&("string"==typeof t||null!=t&&!Po(t))&&!(t=Aa(t))&&wn(e)?Ga(jn(e),0,n):e.split(t,n):[]},hr.spread=function(e,t){if("function"!=typeof e)throw new at(o);return t=null==t?0:Bn(Io(t),0),ka(function(n){var r=n[t],a=Ga(n,0,t);return r&&Xt(a,r),qt(e,this,a)})},hr.tail=function(e){var t=null==e?0:e.length;return t?Ea(e,1,t):[]},hr.take=function(e,t,n){return e&&e.length?Ea(e,0,(t=n||t===a?1:Io(t))<0?0:t):[]},hr.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?Ea(e,(t=r-(t=n||t===a?1:Io(t)))<0?0:t,r):[]},hr.takeRightWhile=function(e,t){return e&&e.length?Wa(e,Ci(t,3),!1,!0):[]},hr.takeWhile=function(e,t){return e&&e.length?Wa(e,Ci(t,3)):[]},hr.tap=function(e,t){return t(e),e},hr.throttle=function(e,t,n){var r=!0,a=!0;if("function"!=typeof e)throw new at(o);return Do(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),ro(e,t,{leading:r,maxWait:t,trailing:a})},hr.thru=Fs,hr.toArray=Fo,hr.toPairs=du,hr.toPairsIn=fu,hr.toPath=function(e){return yo(e)?Zt(e,ls):Co(e)?[e]:ni(us(Bo(e)))},hr.toPlainObject=qo,hr.transform=function(e,t,n){var r=yo(e),a=r||bo(e)||Ao(e);if(t=Ci(t,4),null==n){var i=e&&e.constructor;n=a?r?new i:[]:Do(e)&&wo(i)?_r(jt(e)):{}}return(a?Vt:Jr)(e,function(e,r,a){return t(n,e,r,a)}),n},hr.unary=function(e){return Xs(e,1)},hr.union=Ds,hr.unionBy=xs,hr.unionWith=Ss,hr.uniq=function(e){return e&&e.length?Na(e):[]},hr.uniqBy=function(e,t){return e&&e.length?Na(e,Ci(t,2)):[]},hr.uniqWith=function(e,t){return t="function"==typeof t?t:a,e&&e.length?Na(e,a,t):[]},hr.unset=function(e,t){return null==e||Ra(e,t)},hr.unzip=Es,hr.unzipWith=js,hr.update=function(e,t,n){return null==e?e:Fa(e,t,Ba(n))},hr.updateWith=function(e,t,n,r){return r="function"==typeof r?r:a,null==e?e:Fa(e,t,Ba(n),r)},hr.values=hu,hr.valuesIn=function(e){return null==e?[]:yn(e,iu(e))},hr.without=Ps,hr.words=wu,hr.wrap=function(e,t){return lo(Ba(t),e)},hr.xor=Hs,hr.xorBy=Os,hr.xorWith=Cs,hr.zip=As,hr.zipObject=function(e,t){return Ua(e||[],t||[],xr)},hr.zipObjectDeep=function(e,t){return Ua(e||[],t||[],Ta)},hr.zipWith=Ns,hr.entries=du,hr.entriesIn=fu,hr.extend=Jo,hr.extendWith=Go,Ou(hr,hr),hr.add=qu,hr.attempt=Yu,hr.camelCase=_u,hr.capitalize=mu,hr.ceil=Bu,hr.clamp=function(e,t,n){return n===a&&(n=t,t=a),n!==a&&(n=(n=Uo(n))==n?n:0),t!==a&&(t=(t=Uo(t))==t?t:0),Or(Uo(e),t,n)},hr.clone=function(e){return Cr(e,h)},hr.cloneDeep=function(e){return Cr(e,d|h)},hr.cloneDeepWith=function(e,t){return Cr(e,d|h,t="function"==typeof t?t:a)},hr.cloneWith=function(e,t){return Cr(e,h,t="function"==typeof t?t:a)},hr.conformsTo=function(e,t){return null==t||Ar(e,t,au(t))},hr.deburr=pu,hr.defaultTo=function(e,t){return null==e||e!=e?t:e},hr.divide=Vu,hr.endsWith=function(e,t,n){e=Bo(e),t=Aa(t);var r=e.length,i=n=n===a?r:Or(Io(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},hr.eq=ho,hr.escape=function(e){return(e=Bo(e))&&we.test(e)?e.replace(Le,Ln):e},hr.escapeRegExp=function(e){return(e=Bo(e))&&Pe.test(e)?e.replace(je,"\\$&"):e},hr.every=function(e,t,n){var r=yo(e)?Gt:Ir;return n&&Vi(e,t,n)&&(t=a),r(e,Ci(t,3))},hr.find=zs,hr.findIndex=ms,hr.findKey=function(e,t){return an(e,Ci(t,3),Jr)},hr.findLast=Us,hr.findLastIndex=ps,hr.findLastKey=function(e,t){return an(e,Ci(t,3),Gr)},hr.floor=Ju,hr.forEach=qs,hr.forEachRight=Bs,hr.forIn=function(e,t){return null==e?e:Br(e,Ci(t,3),iu)},hr.forInRight=function(e,t){return null==e?e:Vr(e,Ci(t,3),iu)},hr.forOwn=function(e,t){return e&&Jr(e,Ci(t,3))},hr.forOwnRight=function(e,t){return e&&Gr(e,Ci(t,3))},hr.get=Xo,hr.gt=_o,hr.gte=mo,hr.has=function(e,t){return null!=e&&zi(e,t,ea)},hr.hasIn=eu,hr.head=vs,hr.identity=Eu,hr.includes=function(e,t,n,r){e=go(e)?e:hu(e),n=n&&!r?Io(n):0;var a=e.length;return n<0&&(n=Bn(a+n,0)),Oo(e)?n<=a&&e.indexOf(t,n)>-1:!!a&&on(e,t,n)>-1},hr.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var a=null==n?0:Io(n);return a<0&&(a=Bn(r+a,0)),on(e,t,a)},hr.inRange=function(e,t,n){return t=Wo(t),n===a?(n=t,t=0):n=Wo(n),function(e,t,n){return e>=Vn(t,n)&&e=-H&&e<=H},hr.isSet=Ho,hr.isString=Oo,hr.isSymbol=Co,hr.isTypedArray=Ao,hr.isUndefined=function(e){return e===a},hr.isWeakMap=function(e){return xo(e)&&Ii(e)==ie},hr.isWeakSet=function(e){return xo(e)&&Zr(e)==se},hr.join=function(e,t){return null==e?"":Un.call(e,t)},hr.kebabCase=yu,hr.last=Ls,hr.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return n!==a&&(i=(i=Io(n))<0?Bn(r+i,0):Vn(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):sn(e,ln,i,!0)},hr.lowerCase=vu,hr.lowerFirst=gu,hr.lt=No,hr.lte=Ro,hr.max=function(e){return e&&e.length?zr(e,Eu,Xr):a},hr.maxBy=function(e,t){return e&&e.length?zr(e,Ci(t,2),Xr):a},hr.mean=function(e){return cn(e,Eu)},hr.meanBy=function(e,t){return cn(e,Ci(t,2))},hr.min=function(e){return e&&e.length?zr(e,Eu,da):a},hr.minBy=function(e,t){return e&&e.length?zr(e,Ci(t,2),da):a},hr.stubArray=zu,hr.stubFalse=Uu,hr.stubObject=function(){return{}},hr.stubString=function(){return""},hr.stubTrue=function(){return!0},hr.multiply=$u,hr.nth=function(e,t){return e&&e.length?pa(e,Io(t)):a},hr.noConflict=function(){return Pt._===this&&(Pt._=mt),this},hr.noop=Cu,hr.now=Zs,hr.pad=function(e,t,n){e=Bo(e);var r=(t=Io(t))?En(e):0;if(!t||r>=t)return e;var a=(t-r)/2;return yi(Fn(a),n)+e+yi(Rn(a),n)},hr.padEnd=function(e,t,n){e=Bo(e);var r=(t=Io(t))?En(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=$n();return Vn(e+i*(t-e+xt("1e-"+((i+"").length-1))),t)}return ba(e,t)},hr.reduce=function(e,t,n){var r=yo(e)?en:hn,a=arguments.length<3;return r(e,Ci(t,4),n,a,Fr)},hr.reduceRight=function(e,t,n){var r=yo(e)?tn:hn,a=arguments.length<3;return r(e,Ci(t,4),n,a,Wr)},hr.repeat=function(e,t,n){return t=(n?Vi(e,t,n):t===a)?1:Io(t),La(Bo(e),t)},hr.replace=function(){var e=arguments,t=Bo(e[0]);return e.length<3?t:t.replace(e[1],e[2])},hr.result=function(e,t,n){var r=-1,i=(t=Va(t,e)).length;for(i||(i=1,e=a);++rH)return[];var n=A,r=Vn(e,A);t=Ci(t),e-=A;for(var a=mn(r,t);++n=s)return e;var u=n-En(r);if(u<1)return r;var l=o?Ga(o,0,u).join(""):e.slice(0,u);if(i===a)return l+r;if(o&&(u+=l.length-u),Po(i)){if(e.slice(u).search(i)){var c,d=l;for(i.global||(i=nt(i.source,Bo(ze.exec(i))+"g")),i.lastIndex=0;c=i.exec(d);)var f=c.index;l=l.slice(0,f===a?u:f)}}else if(e.indexOf(Aa(i),u)!=u){var h=l.lastIndexOf(i);h>-1&&(l=l.slice(0,h))}return l+r},hr.unescape=function(e){return(e=Bo(e))&&ke.test(e)?e.replace(be,Pn):e},hr.uniqueId=function(e){var t=++dt;return Bo(e)+t},hr.upperCase=Lu,hr.upperFirst=ku,hr.each=qs,hr.eachRight=Bs,hr.first=vs,Ou(hr,(Gu={},Jr(hr,function(e,t){ct.call(hr.prototype,t)||(Gu[t]=e)}),Gu),{chain:!1}),hr.VERSION="4.17.11",Vt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){hr[e].placeholder=hr}),Vt(["drop","take"],function(e,t){yr.prototype[e]=function(n){n=n===a?1:Bn(Io(n),0);var r=this.__filtered__&&!t?new yr(this):this.clone();return r.__filtered__?r.__takeCount__=Vn(n,r.__takeCount__):r.__views__.push({size:Vn(n,A),type:e+(r.__dir__<0?"Right":"")}),r},yr.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),Vt(["filter","map","takeWhile"],function(e,t){var n=t+1,r=n==E||3==n;yr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Ci(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),Vt(["head","last"],function(e,t){var n="take"+(t?"Right":"");yr.prototype[e]=function(){return this[n](1).value()[0]}}),Vt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");yr.prototype[e]=function(){return this.__filtered__?new yr(this):this[n](1)}}),yr.prototype.compact=function(){return this.filter(Eu)},yr.prototype.find=function(e){return this.filter(e).head()},yr.prototype.findLast=function(e){return this.reverse().find(e)},yr.prototype.invokeMap=ka(function(e,t){return"function"==typeof e?new yr(this):this.map(function(n){return ra(n,e,t)})}),yr.prototype.reject=function(e){return this.filter(oo(Ci(e)))},yr.prototype.slice=function(e,t){e=Io(e);var n=this;return n.__filtered__&&(e>0||t<0)?new yr(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==a&&(n=(t=Io(t))<0?n.dropRight(-t):n.take(t-e)),n)},yr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},yr.prototype.toArray=function(){return this.take(A)},Jr(yr.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=hr[r?"take"+("last"==t?"Right":""):t],s=r||/^find/.test(t);i&&(hr.prototype[t]=function(){var t=this.__wrapped__,o=r?[1]:arguments,u=t instanceof yr,l=o[0],c=u||yo(t),d=function(e){var t=i.apply(hr,Xt([e],o));return r&&f?t[0]:t};c&&n&&"function"==typeof l&&1!=l.length&&(u=c=!1);var f=this.__chain__,h=!!this.__actions__.length,_=s&&!f,m=u&&!h;if(!s&&c){t=m?t:new yr(this);var p=e.apply(t,o);return p.__actions__.push({func:Fs,args:[d],thisArg:a}),new pr(p,f)}return _&&m?e.apply(this,o):(p=this.thru(d),_?r?p.value()[0]:p.value():p)})}),Vt(["pop","push","shift","sort","splice","unshift"],function(e){var t=it[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);hr.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var a=this.value();return t.apply(yo(a)?a:[],e)}return this[n](function(n){return t.apply(yo(n)?n:[],e)})}}),Jr(yr.prototype,function(e,t){var n=hr[t];if(n){var r=n.name+"";(ar[r]||(ar[r]=[])).push({name:t,func:n})}}),ar[hi(a,y).name]=[{name:"wrapper",func:a}],yr.prototype.clone=function(){var e=new yr(this.__wrapped__);return e.__actions__=ni(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ni(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ni(this.__views__),e},yr.prototype.reverse=function(){if(this.__filtered__){var e=new yr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},yr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=yo(e),r=t<0,a=n?e.length:0,i=function(e,t,n){for(var r=-1,a=n.length;++r=this.__values__.length;return{done:e,value:e?a:this.__values__[this.__index__++]}},hr.prototype.plant=function(e){for(var t,n=this;n instanceof mr;){var r=ds(n);r.__index__=0,r.__values__=a,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},hr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof yr){var t=e;return this.__actions__.length&&(t=new yr(this)),(t=t.reverse()).__actions__.push({func:Fs,args:[Ts],thisArg:a}),new pr(t,this.__chain__)}return this.thru(Ts)},hr.prototype.toJSON=hr.prototype.valueOf=hr.prototype.value=function(){return Ia(this.__wrapped__,this.__actions__)},hr.prototype.first=hr.prototype.head,rn&&(hr.prototype[rn]=function(){return this}),hr}();Pt._=Hn,(r=function(){return Hn}.call(t,n,t,e))===a||(e.exports=r)}).call(this)}).call(this,n(85)(e))},function(e,t,n){e.exports=n(242)},function(e,t,n){"use strict";t.__esModule=!0;var r,a=n(243),i=(r=a)&&r.__esModule?r:{default:r};t.default=function(e){return function(){var t=e.apply(this,arguments);return new i.default(function(e,n){return function r(a,s){try{var o=t[a](s),u=o.value}catch(e){return void n(e)}if(!o.done)return i.default.resolve(u).then(function(e){r("next",e)},function(e){r("throw",e)});e(u)}("next")})}}},function(e,t,n){"use strict";t.__esModule=!0;var r=i(n(277)),a=i(n(8));function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(){return function(e,t){if(Array.isArray(e))return e;if((0,r.default)(Object(e)))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var o,u=(0,a.default)(e);!(r=(o=u.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&u.return&&u.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(e,t,n){"use strict";var r=n(16),a=n(17);t.a={get:r.b,set:r.d,plant:r.c,use:a.b,memo:a.a}},function(e,t){var n=e.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(e,t,n){e.exports={default:n(272),__esModule:!0}},function(e,t,n){"use strict";n.d(t,"a",function(){return i});n(0);var r=n(234),a=n.n(r);function i(e){var t=e.text,n={transform:e.transform},r=t.replace(/<([^>]*) ")}}catch(e){o=!0,u=e}finally{try{!i&&c.return&&c.return()}finally{if(o)throw u}}return n.pop(),s.a.createElement("h4",{className:"breadcrumb"},n)}},function(e,t,n){var r=n(10),a=n(7),i=n(35),s=n(23),o=n(24),u=function(e,t,n){var l,c,d,f=e&u.F,h=e&u.G,_=e&u.S,m=e&u.P,p=e&u.B,y=e&u.W,v=h?a:a[t]||(a[t]={}),g=v.prototype,M=h?r:_?r[t]:(r[t]||{}).prototype;for(l in h&&(n=t),n)(c=!f&&M&&void 0!==M[l])&&o(v,l)||(d=c?M[l]:n[l],v[l]=h&&"function"!=typeof M[l]?n[l]:p&&c?i(d,r):y&&M[l]==d?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(d):m&&"function"==typeof d?i(Function.call,d):d,m&&((v.virtual||(v.virtual={}))[l]=d,e&u.R&&g&&!g[l]&&s(g,l,d)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t,n){var r=n(20);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){"use strict";var r=n(2),a=n.n(r),i=n(1),s=n.n(i),o=n(0),u=n.n(o),l=n(9);function c(e){var t=e.media,n=e.size,r=a.a.get(t,["media_details","sizes",n]);return r||(r=t),u.a.createElement("img",{src:r.source_url,width:r.width,height:r.height})}function d(e){var t=e.route,n=e.post,r=e.media,i=a.a.get(n,"title.rendered",""),o=function(e){var t=e.indexOf('
diff --git a/src/front-end.jsx b/src/front-end.jsx index 425aa8e..c2d48ab 100644 --- a/src/front-end.jsx +++ b/src/front-end.jsx @@ -1,151 +1,152 @@ import React, { useState, useEffect, useMemo } from 'react'; import { useEventTime } from 'relaks'; -import { Wordpress } from 'wordpress'; -import { Route } from 'routing'; -import 'style.scss'; +import { Wordpress } from './wordpress.js'; +import { Route } from './routing.js'; + +import { SideNav } from './widgets/side-nav.jsx'; +import { TopNav } from './widgets/top-nav.jsx'; +import { ErrorBoundary } from './widgets/error-boundary.jsx'; + +import './style.scss'; import '@fortawesome/fontawesome-free/scss/fontawesome.scss'; import '@fortawesome/fontawesome-free/scss/regular.scss'; import '@fortawesome/fontawesome-free/scss/solid.scss'; -import { SideNav } from 'widgets/side-nav'; -import { TopNav } from 'widgets/top-nav'; -import { ErrorBoundary } from 'widgets/error-boundary'; - function FrontEnd(props) { - const { routeManager, dataSource, ssr } = props; - const [ routeChanged, setRouteChanged ] = useEventTime(); - const [ dataChanged, setDataChanged ] = useEventTime(); - const route = useMemo(() => { - return new Route(routeManager, dataSource); - }, [ routeManager, dataSource, routeChanged ]); - const wp = useMemo(() => { - return new Wordpress(dataSource, ssr); - }, [ dataSource, ssr, dataChanged ]); - const [ sideNavCollapsed, collapseSideNav ] = useState(true); - const [ topNavCollapsed, collapseTopNav ] = useState(false); + const { routeManager, dataSource, ssr } = props; + const [ routeChanged, setRouteChanged ] = useEventTime(); + const [ dataChanged, setDataChanged ] = useEventTime(); + const route = useMemo(() => { + return new Route(routeManager, dataSource); + }, [ routeManager, dataSource, routeChanged ]); + const wp = useMemo(() => { + return new Wordpress(dataSource, ssr); + }, [ dataSource, ssr, dataChanged ]); + const [ sideNavCollapsed, collapseSideNav ] = useState(true); + const [ topNavCollapsed, collapseTopNav ] = useState(false); - useEffect(() => { - routeManager.addEventListener('change', setRouteChanged); - dataSource.addEventListener('change', setDataChanged); - return () => { - routeManager.addEventListener('change', setRouteChanged); - dataSource.addEventListener('change', setDataChanged); - }; - }, [ routeManager, dataSource ]); - useEffect(() => { - let previousPos = getScrollPos(); - const handleScroll = (evt) => { - const currentPos = getScrollPos(); - const delta = currentPos - previousPos; - if (delta > 0) { - if (!topNavCollapsed) { - // check to see if we have scroll down efficiently, so that - // hidden the top nav won't reveal white space - const pageContainer = document.getElementsByClassName('page-container')[0]; - const page = (pageContainer) ? pageContainer.firstChild : null; - if (page) { - const pageRect = page.getBoundingClientRect(); - if (pageRect.top <= 40) { - collapseTopNav(true); - } - } else { - collapseTopNav(true); - } - } - } else if (delta < -10) { - if (topNavCollapsed) { - collapseTopNav(false); - } + useEffect(() => { + routeManager.addEventListener('change', setRouteChanged); + dataSource.addEventListener('change', setDataChanged); + return () => { + routeManager.addEventListener('change', setRouteChanged); + dataSource.addEventListener('change', setDataChanged); + }; + }, [ routeManager, dataSource ]); + useEffect(() => { + let previousPos = getScrollPos(); + const handleScroll = (evt) => { + const currentPos = getScrollPos(); + const delta = currentPos - previousPos; + if (delta > 0) { + if (!topNavCollapsed) { + // check to see if we have scroll down efficiently, so that + // hidden the top nav won't reveal white space + const pageContainer = document.getElementsByClassName('page-container')[0]; + const page = (pageContainer) ? pageContainer.firstChild : null; + if (page) { + const pageRect = page.getBoundingClientRect(); + if (pageRect.top <= 40) { + collapseTopNav(true); } - previousPos = currentPos; - }; - document.addEventListener('scroll', handleScroll); - return () => { - document.removeEventListener('scroll', handleScroll); - }; - }, [ topNavCollapsed ]); - useEffect(() => { - if (typeof(window) === 'object') { - const handleSwipeLeft = (evt) => { - if (!sideNavCollapsed) { - collapseSideNav(true); - } - }; - const handleSwipeRight = (evt) => { - if (sideNavCollapsed) { - collapseSideNav(false); - } - }; - - const Hammer = require('hammerjs'); - const hammer = new Hammer(document.body, { cssProps: { userSelect: 'auto' } }); - hammer.on('swipeleft', handleSwipeLeft); - hammer.on('swiperight', handleSwipeRight); - return () => { - hammer.off('swipeleft', handleSwipeLeft); - hammer.off('swiperight', handleSwipeRight); - hammer.stop(); - }; + } else { + collapseTopNav(true); + } } - }, [ sideNavCollapsed ]); - const historyDepthBefore = route.history.length; - useEffect(() => { - return () => { - const historyDepthAfter = route.history.length; - if (historyDepthBefore < historyDepthAfter) { - // not going backward - if (document.body.parentElement.scrollTop > 0) { - document.body.parentElement.scrollTop = 0; - } else if (document.body.scrollTop > 0) { - document.body.scrollTop = 0; - } - } - }; - }, [ route ]); - - const PageComponent = route.params.module.default; - const classNames = []; - if (topNavCollapsed) { - classNames.push('top-collapsed'); - } - if (sideNavCollapsed) { - classNames.push('side-collapsed'); - } - const key = route.url; - return ( -
- - - -
- -
-
-
-
- ); - - function getScrollPos() { - let pos = document.body.scrollTop; - if (pos === 0 && document.body.parentNode.scrollTop > 0) { - pos = document.body.parentNode.scrollTop; + } else if (delta < -10) { + if (topNavCollapsed) { + collapseTopNav(false); } - return pos; - } + } + previousPos = currentPos; + }; + document.addEventListener('scroll', handleScroll); + return () => { + document.removeEventListener('scroll', handleScroll); + }; + }, [ topNavCollapsed ]); + useEffect(() => { + if (typeof(window) === 'object') { + const handleSwipeLeft = (evt) => { + if (!sideNavCollapsed) { + collapseSideNav(true); + } + }; + const handleSwipeRight = (evt) => { + if (sideNavCollapsed) { + collapseSideNav(false); + } + }; - function resetScrollPos() { + const Hammer = require('hammerjs'); + const hammer = new Hammer(document.body, { cssProps: { userSelect: 'auto' } }); + hammer.on('swipeleft', handleSwipeLeft); + hammer.on('swiperight', handleSwipeRight); + return () => { + hammer.off('swipeleft', handleSwipeLeft); + hammer.off('swiperight', handleSwipeRight); + hammer.stop(); + }; + } + }, [ sideNavCollapsed ]); + const historyDepthBefore = route.history.length; + useEffect(() => { + return () => { + const historyDepthAfter = route.history.length; + if (historyDepthBefore < historyDepthAfter) { + // not going backward if (document.body.parentElement.scrollTop > 0) { - document.body.parentElement.scrollTop = 0; + document.body.parentElement.scrollTop = 0; } else if (document.body.scrollTop > 0) { - document.body.scrollTop = 0; + document.body.scrollTop = 0; } + } + }; + }, [ route ]); + + const PageComponent = route.params.module.default; + const classNames = []; + if (topNavCollapsed) { + classNames.push('top-collapsed'); + } + if (sideNavCollapsed) { + classNames.push('side-collapsed'); + } + const key = route.url; + return ( +
+ + + +
+ +
+
+
+
+ ); + + function getScrollPos() { + let pos = document.body.scrollTop; + if (pos === 0 && document.body.parentNode.scrollTop > 0) { + pos = document.body.parentNode.scrollTop; } + return pos; + } + + function resetScrollPos() { + if (document.body.parentElement.scrollTop > 0) { + document.body.parentElement.scrollTop = 0; + } else if (document.body.scrollTop > 0) { + document.body.scrollTop = 0; + } + } } export { - FrontEnd + FrontEnd }; if (process.env.NODE_ENV !== 'production') { - require('./props'); + require('./props'); } diff --git a/src/index.html b/src/index.html index c2270eb..450b0e8 100644 --- a/src/index.html +++ b/src/index.html @@ -1,12 +1,12 @@ - - - Relaks WordPress Example - + + + Relaks WordPress Example + -
+
diff --git a/src/main.js b/src/main.js index 3b1f4d9..ffefa2a 100644 --- a/src/main.js +++ b/src/main.js @@ -1,64 +1,64 @@ import { delay } from 'bluebird'; import { createElement } from 'react'; import { hydrate, render } from 'react-dom'; -import { FrontEnd } from 'front-end'; -import { Route, routes } from 'routing'; -import WordpressDataSource from 'relaks-wordpress-data-source'; -import RouteManager from 'relaks-route-manager'; +import { DataSource } from 'relaks-wordpress-data-source'; +import { RouteManager } from 'relaks-route-manager'; import { harvest } from 'relaks-harvest'; import { plant } from 'relaks'; +import { FrontEnd } from './front-end.jsx'; +import { Route, routes } from './routing.js'; window.addEventListener('load', initialize); async function initialize(evt) { - // create data source - const host = process.env.DATA_HOST || `${location.protocol}//${location.host}`; - const basePath = process.env.BASE_PATH; - const dataSource = new WordpressDataSource({ - baseURL: host + basePath + 'json', - }); - dataSource.activate(); + // create data source + const host = process.env.DATA_HOST || `${location.protocol}//${location.host}`; + const basePath = process.env.BASE_PATH; + const dataSource = new DataSource({ + baseURL: host + basePath + 'json', + }); + dataSource.activate(); - // create route manager - const routeManager = new RouteManager({ - routes, - basePath, - useHashFallback: (location.protocol !== 'http:' && location.protocol !== 'https:'), - }); - routeManager.addEventListener('beforechange', (evt) => { - const route = new Route(routeManager, dataSource); - evt.postponeDefault(route.setParameters(evt, true)); - }); - routeManager.activate(); - await routeManager.start(); + // create route manager + const routeManager = new RouteManager({ + routes, + basePath, + useHashFallback: (location.protocol !== 'http:' && location.protocol !== 'https:'), + }); + routeManager.addEventListener('beforechange', (evt) => { + const route = new Route(routeManager, dataSource); + evt.postponeDefault(route.setParameters(evt, true)); + }); + routeManager.activate(); + await routeManager.start(); - const container = document.getElementById('react-container'); - if (!process.env.DATA_HOST) { - // there is SSR support when we're fetching data from the same host - // as the HTML page - const ssrElement = createElement(FrontEnd, { dataSource, routeManager, ssr: 'hydrate' }); - const seeds = await harvest(ssrElement, { seeds: true }); - plant(seeds); - hydrate(ssrElement, container); - } - const csrElement = createElement(FrontEnd, { dataSource, routeManager }); - render(csrElement, container); + const container = document.getElementById('react-container'); + if (!process.env.DATA_HOST) { + // there is SSR support when we're fetching data from the same host + // as the HTML page + const ssrElement = createElement(FrontEnd, { dataSource, routeManager, ssr: 'hydrate' }); + const seeds = await harvest(ssrElement, { seeds: true }); + plant(seeds); + hydrate(ssrElement, container); + } + const csrElement = createElement(FrontEnd, { dataSource, routeManager }); + render(csrElement, container); - // check for changes periodically - const mtimeURL = host + basePath + '.mtime'; - let mtimeLast; - for (;;) { - try { - const res = await fetch(mtimeURL); - const mtime = await res.text(); - if (mtime !== mtimeLast) { - if (mtimeLast) { - dataSource.invalidate(); - } - mtimeLast = mtime; - } - } catch (err) { + // check for changes periodically + const mtimeURL = host + basePath + '.mtime'; + let mtimeLast; + for (;;) { + try { + const res = await fetch(mtimeURL); + const mtime = await res.text(); + if (mtime !== mtimeLast) { + if (mtimeLast) { + dataSource.invalidate(); } - await delay(30 * 1000); + mtimeLast = mtime; + } + } catch (err) { } + await delay(30 * 1000); + } } diff --git a/src/pages/archive-page.jsx b/src/pages/archive-page.jsx index d33c60f..c3ca247 100644 --- a/src/pages/archive-page.jsx +++ b/src/pages/archive-page.jsx @@ -2,33 +2,33 @@ import Moment from 'moment'; import React from 'react'; import Relaks, { useProgress } from 'relaks'; -import { Breadcrumb } from 'widgets/breadcrumb'; -import { PostList } from 'widgets/post-list'; +import { Breadcrumb } from '../widgets/breadcrumb.jsx'; +import { PostList } from '../widgets/post-list.jsx'; async function ArchivePage(props) { - const { wp, route } = props; - const { date } = route.params; - const [ show ] = useProgress(); + const { wp, route } = props; + const { date } = route.params; + const [ show ] = useProgress(); - render(); - const posts = await wp.fetchPostsInMonth(date); - render(); + render(); + const posts = await wp.fetchPostsInMonth(date); + render(); - function render() { - const month = Moment(new Date(date.year, date.month - 1, 1)); - const monthLabel = month.format('MMMM YYYY'); - const trail = [ { label: 'Archives' }, { label: monthLabel } ]; - show( -
- - -
- ); - } + function render() { + const month = Moment(new Date(date.year, date.month - 1, 1)); + const monthLabel = month.format('MMMM YYYY'); + const trail = [ { label: 'Archives' }, { label: monthLabel } ]; + show( +
+ + +
+ ); + } } const component = Relaks.memo(ArchivePage); export { - component as default, + component as default, }; diff --git a/src/pages/category-page.jsx b/src/pages/category-page.jsx index 5a0fcd1..e65c6f0 100644 --- a/src/pages/category-page.jsx +++ b/src/pages/category-page.jsx @@ -2,43 +2,43 @@ import _ from 'lodash'; import React from 'react'; import Relaks, { useProgress } from 'relaks'; -import { Breadcrumb } from 'widgets/breadcrumb'; -import { PostList } from 'widgets/post-list'; +import { Breadcrumb } from '../widgets/breadcrumb.jsx'; +import { PostList } from '../widgets/post-list.jsx'; async function CategoryPage(props) { - const { wp, route } = props; - const { categorySlug } = route.params; - const [ show ] = useProgress(); + const { wp, route } = props; + const { categorySlug } = route.params; + const [ show ] = useProgress(); - render(); - const category = await wp.fetchCategory(categorySlug); - const parentCategories = await wp.fetchParentCategories(category); - render(); - const posts = await wp.fetchPostsInCategory(category); - render(); + render(); + const category = await wp.fetchCategory(categorySlug); + const parentCategories = await wp.fetchParentCategories(category); + render(); + const posts = await wp.fetchPostsInCategory(category); + render(); - function render() { - const trail = [ { label: 'Categories' } ]; - const categoryLabel = _.get(category, 'name', ''); - if (parentCategories) { - for (let parentCategory of parentCategories) { - const label = _.get(parentCategory, 'name', ''); - const url = route.prefetchObjectURL(parentCategory); - trail.push({ label, url }); - } - trail.push({ label: categoryLabel }); - } - show( -
- - -
- ); + function render() { + const trail = [ { label: 'Categories' } ]; + const categoryLabel = _.get(category, 'name', ''); + if (parentCategories) { + for (let parentCategory of parentCategories) { + const label = _.get(parentCategory, 'name', ''); + const url = route.prefetchObjectURL(parentCategory); + trail.push({ label, url }); + } + trail.push({ label: categoryLabel }); } + show( +
+ + +
+ ); + } } const component = Relaks.memo(CategoryPage); export { - component as default, + component as default, }; diff --git a/src/pages/page-page.jsx b/src/pages/page-page.jsx index 5a25e9d..15c2b1c 100644 --- a/src/pages/page-page.jsx +++ b/src/pages/page-page.jsx @@ -2,44 +2,44 @@ import _ from 'lodash'; import React from 'react'; import Relaks, { useProgress } from 'relaks'; -import { HTML } from 'widgets/html'; -import { Breadcrumb } from 'widgets/breadcrumb'; -import { PageView } from 'widgets/page-view'; -import { PageList } from 'widgets/page-list'; +import { HTML } from '../widgets/html.jsx'; +import { Breadcrumb } from '../widgets/breadcrumb.jsx'; +import { PageView } from '../widgets/page-view.jsx'; +import { PageList } from '../widgets/page-list.jsx'; async function PagePage(props) { - const { wp, route } = props; - const { pageSlug } = route.params; - const [ show ] = useProgress(); + const { wp, route } = props; + const { pageSlug } = route.params; + const [ show ] = useProgress(); - render(); - const page = await wp.fetchPage(pageSlug); - const parentPages = await wp.fetchParentPages(page); - render(); - const childPages = await wp.fetchChildPages(page); - render(); + render(); + const page = await wp.fetchPage(pageSlug); + const parentPages = await wp.fetchParentPages(page); + render(); + const childPages = await wp.fetchChildPages(page); + render(); - function render() { - const trail = []; - if (parentPages) { - for (let parentPage of parentPages) { - const title = _.get(parentPage, 'title.rendered', ''); - const url = route.prefetchObjectURL(parentPage); - trail.push({ label: , url }) - } - } - show( -
- - - -
- ); + function render() { + const trail = []; + if (parentPages) { + for (let parentPage of parentPages) { + const title = _.get(parentPage, 'title.rendered', ''); + const url = route.prefetchObjectURL(parentPage); + trail.push({ label: , url }) + } } + show( +
+ + + +
+ ); + } } const component = Relaks.memo(PagePage); export { - component as default, + component as default, }; diff --git a/src/pages/post-page.jsx b/src/pages/post-page.jsx index f2a141a..4a19c74 100644 --- a/src/pages/post-page.jsx +++ b/src/pages/post-page.jsx @@ -3,112 +3,112 @@ import Moment from 'moment'; import React from 'react'; import Relaks, { useProgress } from 'relaks'; -import { Breadcrumb } from 'widgets/breadcrumb'; -import { PostView } from 'widgets/post-view'; -import { TagList } from 'widgets/tag-list'; -import { CommentSection } from 'widgets/comment-section'; +import { Breadcrumb } from '../widgets/breadcrumb.jsx'; +import { PostView } from '../widgets/post-view.jsx'; +import { TagList } from '../widgets/tag-list.jsx'; +import { CommentSection } from '../widgets/comment-section.jsx'; async function PostPage(props) { - const { wp, route } = props; - const { postSlug } = route.params; - const [ show ] = useProgress(); + const { wp, route } = props; + const { postSlug } = route.params; + const [ show ] = useProgress(); + render(); + const post = await wp.fetchPost(postSlug); + render(); + const categories = await findCategoryChain(post); + render(); + const author = await wp.fetchAuthor(post); + render(); + const tags = await wp.fetchTagsOfPost(post); + render() + let comments; + if (!wp.ssr) { + comments = await wp.fetchComments(post); render(); - const post = await wp.fetchPost(postSlug); - render(); - const categories = await findCategoryChain(post); - render(); - const author = await wp.fetchAuthor(post); - render(); - const tags = await wp.fetchTagsOfPost(post); - render() - let comments; - if (!wp.ssr) { - comments = await wp.fetchComments(post); - render(); + } + + function render() { + const trail = [ { label: 'Categories' } ]; + if (categories) { + for (let category of categories) { + const label = _.get(category, 'name', ''); + const url = route.prefetchObjectURL(category); + trail.push({ label, url }); + } + } + show( +
+ + + + +
+ ); + } + + async function findCategoryChain(post) { + if (!post) return []; + const allCategories = await wp.fetchCategories(); + + // add categories, including their parents as well + const applicable = []; + const include = (id) => { + const category = _.find(allCategories, { id }) + if (category) { + if (!_.includes(applicable, category)) { + applicable.push(category); + } + // add parent category as well + include(category.parent); + } + }; + for (let id of post.categories) { + include(id); } - function render() { - const trail = [ { label: 'Categories' } ]; - if (categories) { - for (let category of categories) { - const label = _.get(category, 'name', ''); - const url = route.prefetchObjectURL(category); - trail.push({ label, url }); - } + // see how recently a category was visited + const historyIndex = (category) => { + const predicate = { params: { categorySlug: category.slug }}; + return _.findLastIndex(route.history, predicate); + }; + // see how deep a category is + const depth = (category) => { + if (category.parent) { + const predicate = { id: category.parent }; + const parent = _.find(allCategories, predicate); + if (parent) { + return depth(parent) + 1; } - show( -
- - - - -
- ); - } - - async function findCategoryChain(post) { - if (!post) return []; - const allCategories = await wp.fetchCategories(); - - // add categories, including their parents as well - const applicable = []; - const include = (id) => { - const category = _.find(allCategories, { id }) - if (category) { - if (!_.includes(applicable, category)) { - applicable.push(category); - } - // add parent category as well - include(category.parent); - } - }; - for (let id of post.categories) { - include(id); - } - - // see how recently a category was visited - const historyIndex = (category) => { - const predicate = { params: { categorySlug: category.slug }}; - return _.findLastIndex(route.history, predicate); - }; - // see how deep a category is - const depth = (category) => { - if (category.parent) { - const predicate = { id: category.parent }; - const parent = _.find(allCategories, predicate); - if (parent) { - return depth(parent) + 1; - } - } - return 0; - }; - - // order applicable categories based on how recently it was visited, - // how deep it is, and alphabetically; the first criteria makes our - // breadcrumb works more sensibly - const ordered = _.orderBy(applicable, [ historyIndex, depth, 'name' ], [ 'desc', 'desc', 'asc' ]); - const anchorCategory = _.first(ordered); - - const trail = []; - if (anchorCategory) { - // add category and its ancestors - for (let c = anchorCategory; c; c = _.find(applicable, { id: c.parent })) { - trail.unshift(c); - } - // add applicable child categories - for (let c = anchorCategory; c; c = _.find(applicable, { parent: c.id })) { - if (c !== anchorCategory) { - trail.push(c); - } - } - } - return trail; + } + return 0; + }; + + // order applicable categories based on how recently it was visited, + // how deep it is, and alphabetically; the first criteria makes our + // breadcrumb works more sensibly + const ordered = _.orderBy(applicable, [ historyIndex, depth, 'name' ], [ 'desc', 'desc', 'asc' ]); + const anchorCategory = _.first(ordered); + + const trail = []; + if (anchorCategory) { + // add category and its ancestors + for (let c = anchorCategory; c; c = _.find(applicable, { id: c.parent })) { + trail.unshift(c); + } + // add applicable child categories + for (let c = anchorCategory; c; c = _.find(applicable, { parent: c.id })) { + if (c !== anchorCategory) { + trail.push(c); + } + } } + return trail; + } } const component = Relaks.memo(PostPage); export { - component as default, + component as default, }; diff --git a/src/pages/search-page.jsx b/src/pages/search-page.jsx index a70e4c9..2733d09 100644 --- a/src/pages/search-page.jsx +++ b/src/pages/search-page.jsx @@ -1,41 +1,41 @@ import React from 'react'; import Relaks, { useProgress } from 'relaks'; -import { Breadcrumb } from 'widgets/breadcrumb'; -import { PostList } from 'widgets/post-list'; +import { Breadcrumb } from '../widgets/breadcrumb.jsx'; +import { PostList } from '../widgets/post-list.jsx'; async function SearchPage(props) { - const { wp, route } = props; - const { search } = route.params; - const [ show ] = useProgress(); + const { wp, route } = props; + const { search } = route.params; + const [ show ] = useProgress(); - render(); - const posts = await wp.fetchMatchingPosts(search); - render(); + render(); + const posts = await wp.fetchMatchingPosts(search); + render(); - function render() { - const trail = [ { label: 'Search' } ]; - if (posts) { - const count = posts.total; - if (typeof(count) === 'number') { - const s = (count === 1) ? '' : 's'; - const msg = `${count} matching article${s}`; - trail.push({ label: msg }); - } - } else { - trail.push({ label: '...' }); - } - show( -
- - -
- ); + function render() { + const trail = [ { label: 'Search' } ]; + if (posts) { + const count = posts.total; + if (typeof(count) === 'number') { + const s = (count === 1) ? '' : 's'; + const msg = `${count} matching article${s}`; + trail.push({ label: msg }); + } + } else { + trail.push({ label: '...' }); } + show( +
+ + +
+ ); + } } const component = Relaks.memo(SearchPage); export { - component as default, + component as default, }; diff --git a/src/pages/tag-page.jsx b/src/pages/tag-page.jsx index 17f24a9..1552edd 100644 --- a/src/pages/tag-page.jsx +++ b/src/pages/tag-page.jsx @@ -2,34 +2,34 @@ import _ from 'lodash'; import React from 'react'; import Relaks, { useProgress } from 'relaks'; -import { Breadcrumb } from 'widgets/breadcrumb'; -import { PostList } from 'widgets/post-list'; +import { Breadcrumb } from '../widgets/breadcrumb.jsx'; +import { PostList } from '../widgets/post-list.jsx'; async function TagPage(props) { - const { wp, route } = props; - const { tagSlug } = route.params; - const [ show ] = useProgress(); + const { wp, route } = props; + const { tagSlug } = route.params; + const [ show ] = useProgress(); - render(); - const tag = await wp.fetchTag(tagSlug); - render(); - const posts = await wp.fetchPostsWithTag(tag); - render(); + render(); + const tag = await wp.fetchTag(tagSlug); + render(); + const posts = await wp.fetchPostsWithTag(tag); + render(); - function render() { - const tagLabel = _.get(tag, 'name', ''); - const trail = [ { label: 'Tags' }, { label: tagLabel } ]; - show( -
- - -
- ); - } + function render() { + const tagLabel = _.get(tag, 'name', ''); + const trail = [ { label: 'Tags' }, { label: tagLabel } ]; + show( +
+ + +
+ ); + } } const component = Relaks.memo(TagPage); export { - component as default, + component as default, }; diff --git a/src/pages/welcome-page.jsx b/src/pages/welcome-page.jsx index ffc0ace..f78a9c1 100644 --- a/src/pages/welcome-page.jsx +++ b/src/pages/welcome-page.jsx @@ -1,29 +1,29 @@ import React from 'react'; import Relaks, { useProgress } from 'relaks'; -import { PostList } from 'widgets/post-list'; +import { PostList } from '../widgets/post-list.jsx'; async function WelcomePage(props) { - const { wp, route } = props; - const [ show ] = useProgress(); + const { wp, route } = props; + const [ show ] = useProgress(); - render(); - const posts = await wp.fetchPosts(); - render(); - const medias = await wp.fetchFeaturedMedias(posts, 10); - render(); + render(); + const posts = await wp.fetchPosts(); + render(); + const medias = await wp.fetchFeaturedMedias(posts, 10); + render(); - function render() { - show( -
- -
- ); - } + function render() { + show( +
+ +
+ ); + } } const component = Relaks.memo(WelcomePage); export { - component as default, + component as default, }; diff --git a/src/props.js b/src/props.js index 7e0aeac..9a9922d 100644 --- a/src/props.js +++ b/src/props.js @@ -1,124 +1,124 @@ import * as PropTypes from 'prop-types'; -import { Route } from 'routing'; -import { Wordpress } from 'wordpress'; +import { Route } from './routing.js'; +import { Wordpress } from './wordpress.js'; -import ArchivePage from 'pages/archive-page'; -import CategoryPage from 'pages/category-page'; -import PagePage from 'pages/page-page'; -import PostPage from 'pages/post-page'; -import SearchPage from 'pages/search-page'; -import TagPage from 'pages/tag-page'; -import WelcomePage from 'pages/welcome-page'; +import ArchivePage from './pages/archive-page.jsx'; +import CategoryPage from './pages/category-page.jsx'; +import PagePage from './pages/page-page.jsx'; +import PostPage from './pages/post-page.jsx'; +import SearchPage from './pages/search-page.jsx'; +import TagPage from './pages/tag-page.jsx'; +import WelcomePage from './pages/welcome-page.jsx'; ArchivePage.propTypes = { - wp: PropTypes.instanceOf(Wordpress).isRequired, - route: PropTypes.instanceOf(Route).isRequired, + wp: PropTypes.instanceOf(Wordpress).isRequired, + route: PropTypes.instanceOf(Route).isRequired, }; CategoryPage.propTypes = { - wp: PropTypes.instanceOf(Wordpress).isRequired, - route: PropTypes.instanceOf(Route).isRequired, + wp: PropTypes.instanceOf(Wordpress).isRequired, + route: PropTypes.instanceOf(Route).isRequired, }; PagePage.propTypes = { - wp: PropTypes.instanceOf(Wordpress).isRequired, - route: PropTypes.instanceOf(Route).isRequired, + wp: PropTypes.instanceOf(Wordpress).isRequired, + route: PropTypes.instanceOf(Route).isRequired, }; PostPage.propTypes = { - wp: PropTypes.instanceOf(Wordpress).isRequired, - route: PropTypes.instanceOf(Route).isRequired, + wp: PropTypes.instanceOf(Wordpress).isRequired, + route: PropTypes.instanceOf(Route).isRequired, }; SearchPage.propTypes = { - wp: PropTypes.instanceOf(Wordpress).isRequired, - route: PropTypes.instanceOf(Route).isRequired, + wp: PropTypes.instanceOf(Wordpress).isRequired, + route: PropTypes.instanceOf(Route).isRequired, }; TagPage.propTypes = { - wp: PropTypes.instanceOf(Wordpress).isRequired, - route: PropTypes.instanceOf(Route).isRequired, + wp: PropTypes.instanceOf(Wordpress).isRequired, + route: PropTypes.instanceOf(Route).isRequired, }; WelcomePage.propTypes = { - wp: PropTypes.instanceOf(Wordpress).isRequired, - route: PropTypes.instanceOf(Route).isRequired, + wp: PropTypes.instanceOf(Wordpress).isRequired, + route: PropTypes.instanceOf(Route).isRequired, }; -import { Breadcrumb } from 'widgets/breadcrumb'; -import { CommentListView } from 'widgets/comment-list-view'; -import { CommentList } from 'widgets/comment-list'; -import { CommentSection } from 'widgets/comment-section'; -import { HTML } from 'widgets/html'; -import { ImageDialog } from 'widgets/image-dialog'; -import { MediaView } from 'widgets/media-view'; -import { PageListView } from 'widgets/page-list-view'; -import { PageList } from 'widgets/page-list'; -import { PageView } from 'widgets/page-view'; -import { PostListView } from 'widgets/post-list-view'; -import { PostList } from 'widgets/post-list'; -import { PostView } from 'widgets/post-view'; -import { SideNav } from 'widgets/side-nav'; -import { TagList } from 'widgets/tag-list'; -import { TopNav } from 'widgets/top-nav'; +import { Breadcrumb } from './widgets/breadcrumb.jsx'; +import { CommentListView } from './widgets/comment-list-view.jsx'; +import { CommentList } from './widgets/comment-list.jsx'; +import { CommentSection } from './widgets/comment-section.jsx'; +import { HTML } from './widgets/html.jsx'; +import { ImageDialog } from './widgets/image-dialog.jsx'; +import { MediaView } from './widgets/media-view.jsx'; +import { PageListView } from './widgets/page-list-view.jsx'; +import { PageList } from './widgets/page-list.jsx'; +import { PageView } from './widgets/page-view.jsx'; +import { PostListView } from './widgets/post-list-view.jsx'; +import { PostList } from './widgets/post-list.jsx'; +import { PostView } from './widgets/post-view.jsx'; +import { SideNav } from './widgets/side-nav.jsx'; +import { TagList } from './widgets/tag-list.jsx'; +import { TopNav } from './widgets/top-nav.jsx'; Breadcrumb.propTypes = { - trail: PropTypes.arrayOf(PropTypes.object), + trail: PropTypes.arrayOf(PropTypes.object), }; CommentListView.propTypes = { - allComments: PropTypes.arrayOf(PropTypes.object), - comment: PropTypes.object, + allComments: PropTypes.arrayOf(PropTypes.object), + comment: PropTypes.object, }; CommentList.propTypes = { - allComments: PropTypes.arrayOf(PropTypes.object), - parentCommentID: PropTypes.number, + allComments: PropTypes.arrayOf(PropTypes.object), + parentCommentID: PropTypes.number, }; CommentSection.propTypes = { - comments: PropTypes.arrayOf(PropTypes.object), + comments: PropTypes.arrayOf(PropTypes.object), }; HTML.propTypes = { - text: PropTypes.string, - transform: PropTypes.func, + text: PropTypes.string, + transform: PropTypes.func, }; ImageDialog.propTypes = { - imageURL: PropTypes.string, - onClose: PropTypes.func, + imageURL: PropTypes.string, + onClose: PropTypes.func, }; MediaView.propTypes = { - media: PropTypes.object, - size: PropTypes.string, + media: PropTypes.object, + size: PropTypes.string, }; PageListView.propTypes = { - page: PropTypes.object, - route: PropTypes.instanceOf(Route).isRequired, + page: PropTypes.object, + route: PropTypes.instanceOf(Route).isRequired, }; PageList.propTypes = { - pages: PropTypes.arrayOf(PropTypes.object), - route: PropTypes.instanceOf(Route).isRequired, + pages: PropTypes.arrayOf(PropTypes.object), + route: PropTypes.instanceOf(Route).isRequired, }; PageView.propTypes = { - page: PropTypes.object, - transform: PropTypes.func, + page: PropTypes.object, + transform: PropTypes.func, }; PostList.propTypes = { - posts: PropTypes.arrayOf(PropTypes.object), - medias: PropTypes.arrayOf(PropTypes.object), - route: PropTypes.instanceOf(Route), - minimum: PropTypes.number, - maximum: PropTypes.number, + posts: PropTypes.arrayOf(PropTypes.object), + medias: PropTypes.arrayOf(PropTypes.object), + route: PropTypes.instanceOf(Route), + minimum: PropTypes.number, + maximum: PropTypes.number, }; PostListView.propTypes = { - post: PropTypes.object, - route: PropTypes.instanceOf(Route).isRequired, + post: PropTypes.object, + route: PropTypes.instanceOf(Route).isRequired, }; PostView.propTypes = { - post: PropTypes.object, - author: PropTypes.object, - transform: PropTypes.func, + post: PropTypes.object, + author: PropTypes.object, + transform: PropTypes.func, }; SideNav.propTypes = { - wp: PropTypes.instanceOf(Wordpress).isRequired, - route: PropTypes.instanceOf(Route).isRequired, + wp: PropTypes.instanceOf(Wordpress).isRequired, + route: PropTypes.instanceOf(Route).isRequired, }; TagList.propTypes = { - tags: PropTypes.arrayOf(PropTypes.object), + tags: PropTypes.arrayOf(PropTypes.object), }; TopNav.propTypes = { - wp: PropTypes.instanceOf(Wordpress).isRequired, - route: PropTypes.instanceOf(Route).isRequired, + wp: PropTypes.instanceOf(Wordpress).isRequired, + route: PropTypes.instanceOf(Route).isRequired, }; diff --git a/src/routing.js b/src/routing.js index 47ba39b..31f69e3 100644 --- a/src/routing.js +++ b/src/routing.js @@ -3,248 +3,250 @@ import { Wordpress } from './wordpress'; import { RelaksRouteManagerError } from 'relaks-route-manager'; class Route { - constructor(routeManager, dataSource) { - this.routeManager = routeManager; - this.name = routeManager.name; - this.params = routeManager.params; - this.history = routeManager.history; - this.url = routeManager.url; - this.dataSource = dataSource; + constructor(routeManager, dataSource) { + this.routeManager = routeManager; + this.name = routeManager.name; + this.params = routeManager.params; + this.history = routeManager.history; + this.url = routeManager.url; + this.dataSource = dataSource; + + this.transformNode = this.transformNode.bind(this); + } + + change(url, options) { + return this.routeManager.change(url, options); + } + + getRootURL() { + return this.composeURL({ path: '/' }); + } + + getSearchURL(search) { + return this.composeURL({ path: '/', query: { s: search } }); + } + + getArchiveURL(date) { + const { year, month } = date; + return this.composeURL({ path: `/date/${year}/${_.padStart(month, 2, '0')}/` }); + } + + getObjectURL(object) { + const { siteURL } = this.params; + const link = object.link; + if (!_.startsWith(link, siteURL)) { + throw new Error(`Object URL does not match site URL`); + } + const path = link.substr(siteURL.length); + return this.composeURL({ path }); + } + + prefetchArchiveURL(date) { + const url = this.getArchiveURL(date); + setTimeout(() => { this.loadPageData(url) }, 50); + return url; + } + + prefetchObjectURL(object) { + const url = this.getObjectURL(object); + setTimeout(() => { this.loadPageData(url) }, 50); + return url; + } + + composeURL(urlParts) { + const context = this.routeManager.context; + this.routeManager.rewrite('to', urlParts, context); + let url = this.routeManager.compose(urlParts); + url = this.routeManager.applyFallback(url); + return url; + } + + async setParameters(evt, fallbackToRoot) { + const params = await this.getParameters(evt.path, evt.query); + if (params) { + params.module = require(`./pages/${params.pageType}-page.jsx`); + _.assign(evt.params, params); + } else { + if (fallbackToRoot) { + await this.routeManager.change('/'); + return false; + } else { + throw new RelaksRouteManagerError(404, 'Route not found'); + } + } + } + + async getParameters(path, query, fallbackToRoot) { + // get the site URL and see what the page's URL would be if it + // were on WordPress itself + const wp = new Wordpress(this.dataSource); + const site = await wp.fetchSite(); + const siteURL = _.trimEnd(site.url, '/'); + const link = _.trimEnd(siteURL + path, '/'); + const matchLink = (obj) => { + return _.trimEnd(obj.link, '/') === link; + }; + const slugs = _.filter(_.split(path, '/')); + + // see if it's a search + const search = query.s; + if (search) { + return { pageType: 'search', search, siteURL }; } - change(url, options) { - return this.routeManager.change(url, options); + // see if it's pointing to the root page + if (path === '/') { + return { pageType: 'welcome', siteURL }; } - getRootURL() { - return this.composeURL({ path: '/' }); + // see if it's pointing to an archive + if (slugs[0] === 'date' && /^\d+$/.test(slugs[1]) && /^\d+$/.test(slugs[2]) && slugs.length == 3) { + const date = { + year: parseInt(slugs[1]), + month: parseInt(slugs[2]), + }; + return { pageType: 'archive', date, siteURL }; + } else if (/^\d+$/.test(slugs[0]) && /^\d+$/.test(slugs[1]) && slugs.length == 2) { + const date = { + year: parseInt(slugs[0]), + month: parseInt(slugs[1]), + }; + return { pageType: 'archive', date, siteURL }; } - getSearchURL(search) { - return this.composeURL({ path: '/', query: { s: search } }); + // see if it's pointing to a post by ID + if (slugs[0] === 'archives' && /^\d+$/.test(slugs[1])) { + const postID = parseInt(slugs[1]); + const post = await wp.fetchPost(postID); + if (post) { + return { pageType: 'post', postSlug: post.slug, siteURL }; + } } - getArchiveURL(date) { - const { year, month } = date; - return this.composeURL({ path: `/date/${year}/${_.padStart(month, 2, '0')}/` }); + // see if it's pointing to a page + const allPages = await wp.fetchPages(); + const page = _.find(allPages, matchLink); + if (page) { + return { pageType: 'page', pageSlug: page.slug, siteURL }; } - getObjectURL(object) { - const { siteURL } = this.params; - const link = object.link; - if (!_.startsWith(link, siteURL)) { - throw new Error(`Object URL does not match site URL`); - } - const path = link.substr(siteURL.length); - return this.composeURL({ path }); + // see if it's pointing to a category + const allCategories = await wp.fetchCategories(); + const category = _.find(allCategories, matchLink); + if (category) { + return { pageType: 'category', categorySlug: category.slug, siteURL }; } - prefetchArchiveURL(date) { - const url = this.getArchiveURL(date); - setTimeout(() => { this.loadPageData(url) }, 50); - return url; + // see if it's pointing to a popular tag + const topTags = await wp.fetchTopTags(); + const topTag = _.find(topTags, matchLink); + if (topTag) { + return { pageType: 'tag', tagSlug: topTag.slug, siteURL }; } - prefetchObjectURL(object) { - const url = this.getObjectURL(object); - setTimeout(() => { this.loadPageData(url) }, 50); - return url; + // see if it's pointing to a not-so popular tag + if (slugs[0] === 'tag' && slugs.length === 2) { + const tag = await wp.fetchTag(slugs[1]); + if (tag) { + return { pageType: 'tag', tagSlug: tag.slug, siteURL }; + } } - composeURL(urlParts) { - const context = this.routeManager.context; - this.routeManager.rewrite('to', urlParts, context); - let url = this.routeManager.compose(urlParts); - url = this.routeManager.applyFallback(url); - return url; + // see if it's pointing to a post + let postSlug = _.last(slugs); + if (/^\d+\-\D/.test(postSlug)) { + // delete post ID in front of slug + postSlug = postSlug.replace(/^\d+\-/, ''); + } + const post = await wp.fetchPost(postSlug); + if (post) { + return { pageType: 'post', postSlug, siteURL }; } - async setParameters(evt, fallbackToRoot) { - const params = await this.getParameters(evt.path, evt.query); - if (params) { - params.module = require(`pages/${params.pageType}-page`); - _.assign(evt.params, params); - } else { - if (fallbackToRoot) { - await this.routeManager.change('/'); - return false; - } else { - throw new RelaksRouteManagerError(404, 'Route not found'); - } - } + // see if it's pointing to a tag when no prefix is used + const tagSlug = _.last(slugs); + const tag = await wp.fetchTag(tagSlug); + if (tag) { + return { pageType: 'tag', tagSlug: tag.slug, siteURL }; } + } - async getParameters(path, query, fallbackToRoot) { - // get the site URL and see what the page's URL would be if it - // were on WordPress itself + async loadPageData(url) { + try { + const urlParts = this.routeManager.parse(url); + const context = {}; + this.routeManager.rewrite('from', urlParts, context); + const params = await this.getParameters(urlParts.path, urlParts.query); + if (params) { const wp = new Wordpress(this.dataSource); - const site = await wp.fetchSite(); - const siteURL = _.trimEnd(site.url, '/'); - const link = _.trimEnd(siteURL + path, '/'); - const matchLink = (obj) => { - return _.trimEnd(obj.link, '/') === link; - }; - const slugs = _.filter(_.split(path, '/')); - - // see if it's a search - const search = query.s; - if (search) { - return { pageType: 'search', search, siteURL }; - } - - // see if it's pointing to the root page - if (path === '/') { - return { pageType: 'welcome', siteURL }; - } - - // see if it's pointing to an archive - if (slugs[0] === 'date' && /^\d+$/.test(slugs[1]) && /^\d+$/.test(slugs[2]) && slugs.length == 3) { - const date = { - year: parseInt(slugs[1]), - month: parseInt(slugs[2]), - }; - return { pageType: 'archive', date, siteURL }; - } else if (/^\d+$/.test(slugs[0]) && /^\d+$/.test(slugs[1]) && slugs.length == 2) { - const date = { - year: parseInt(slugs[0]), - month: parseInt(slugs[1]), - }; - return { pageType: 'archive', date, siteURL }; - } - - // see if it's pointing to a post by ID - if (slugs[0] === 'archives' && /^\d+$/.test(slugs[1])) { - const postID = parseInt(slugs[1]); - const post = await wp.fetchPost(postID); - if (post) { - return { pageType: 'post', postSlug: post.slug, siteURL }; - } - } - - // see if it's pointing to a page - const allPages = await wp.fetchPages(); - const page = _.find(allPages, matchLink); - if (page) { - return { pageType: 'page', pageSlug: page.slug, siteURL }; - } - - // see if it's pointing to a category - const allCategories = await wp.fetchCategories(); - const category = _.find(allCategories, matchLink); - if (category) { - return { pageType: 'category', categorySlug: category.slug, siteURL }; - } - - // see if it's pointing to a popular tag - const topTags = await wp.fetchTopTags(); - const topTag = _.find(topTags, matchLink); - if (topTag) { - return { pageType: 'tag', tagSlug: topTag.slug, siteURL }; - } - - // see if it's pointing to a not-so popular tag - if (slugs[0] === 'tag' && slugs.length === 2) { - const tag = await wp.fetchTag(slugs[1]); - if (tag) { - return { pageType: 'tag', tagSlug: tag.slug, siteURL }; - } - } - - // see if it's pointing to a post - let postSlug = _.last(slugs); - if (/^\d+\-\D/.test(postSlug)) { - // delete post ID in front of slug - postSlug = postSlug.replace(/^\d+\-/, ''); - } - const post = await wp.fetchPost(postSlug); - if (post) { - return { pageType: 'post', postSlug, siteURL }; - } - - // see if it's pointing to a tag when no prefix is used - const tagSlug = _.last(slugs); - const tag = await wp.fetchTag(tagSlug); - if (tag) { - return { pageType: 'tag', tagSlug: tag.slug, siteURL }; + if (params.postSlug) { + await wp.fetchPost(params.postSlug); + } else if (params.pageSlug) { + await wp.fetchPage(params.pageSlug); + } else if (params.tagSlug) { + const tag = await wp.fetchTag(params.tagSlug); + await wp.fetchPostsWithTag(tag); + } else if (params.categorySlug) { + const category = await wp.fetchCategory(params.categorySlug); + await wp.fetchPostsInCategory(category); + } else if (params.date) { + await wp.fetchPostsInMonth(params.date); } + } + } catch (err) { + console.log(err); } + } - async loadPageData(url) { - try { - const urlParts = this.routeManager.parse(url); - const context = {}; - this.routeManager.rewrite('from', urlParts, context); - const params = await this.getParameters(urlParts.path, urlParts.query); - if (params) { - const wp = new Wordpress(this.dataSource); - if (params.postSlug) { - await wp.fetchPost(params.postSlug); - } else if (params.pageSlug) { - await wp.fetchPage(params.pageSlug); - } else if (params.tagSlug) { - const tag = await wp.fetchTag(params.tagSlug); - await wp.fetchPostsWithTag(tag); - } else if (params.categorySlug) { - const category = await wp.fetchCategory(params.categorySlug); - await wp.fetchPostsInCategory(category); - } else if (params.date) { - await wp.fetchPostsInMonth(params.date); - } + transformNode(node) { + if (node.type === 'tag') { + const { siteURL } = this.params; + const siteURLInsecure = 'http:' + siteURL.substr(6); + if (node.name === 'a') { + let url = _.trim(node.attribs.href); + let target; + if (url) { + if (!_.startsWith(url, '/')) { + if (_.startsWith(url, siteURL)) { + url = url.substr(siteURL.length); + } else if (_.startsWith(url, siteURLInsecure)) { + url = url.substr(siteURLInsecure.length); + } else { + target = '_blank'; } - } catch (err) { - console.log(err); + } + if (_.startsWith(url, '/wp-content/')) { + url = siteURL + url; + } + if (_.startsWith(url, '/')) { + // strip off page number + url = url.replace(/\/\d+\/?$/, ''); + url = this.routeManager.applyFallback(url); + this.loadPageData(url); + } + node.attribs.href = url; + node.attribs.target = target; } - } - - transformNode = (node) => { - if (node.type === 'tag') { - const { siteURL } = this.params; - const siteURLInsecure = 'http:' + siteURL.substr(6); - if (node.name === 'a') { - let url = _.trim(node.attribs.href); - let target; - if (url) { - if (!_.startsWith(url, '/')) { - if (_.startsWith(url, siteURL)) { - url = url.substr(siteURL.length); - } else if (_.startsWith(url, siteURLInsecure)) { - url = url.substr(siteURLInsecure.length); - } else { - target = '_blank'; - } - } - if (_.startsWith(url, '/wp-content/')) { - url = siteURL + url; - } - if (_.startsWith(url, '/')) { - // strip off page number - url = url.replace(/\/\d+\/?$/, ''); - url = this.routeManager.applyFallback(url); - this.loadPageData(url); - } - node.attribs.href = url; - node.attribs.target = target; - } - } else if (node.name === 'img') { - // prepend image URL with site URL - let url = _.trim(node.attribs.src); - if (url && !/^https?:/.test(url)) { - url = siteURL + url; - node.attribs.src = url; - } - } - } else if (node.type === 'text') { - // trim off leading newline characters - node.data = _.trimStart(node.data, '\r\n'); + } else if (node.name === 'img') { + // prepend image URL with site URL + let url = _.trim(node.attribs.src); + if (url && !/^https?:/.test(url)) { + url = siteURL + url; + node.attribs.src = url; } + } + } else if (node.type === 'text') { + // trim off leading newline characters + node.data = _.trimStart(node.data, '\r\n'); } + } } const routes = { - 'page': { path: '*' }, + 'page': { path: '*' }, }; export { - Route, - routes, + Route, + routes, }; diff --git a/src/ssr.js b/src/ssr.js index 08420ce..d0f5057 100644 --- a/src/ssr.js +++ b/src/ssr.js @@ -1,38 +1,38 @@ import { createElement } from 'react'; import { renderToString } from 'react-dom/server'; -import { FrontEnd } from 'front-end'; -import { Route, routes } from 'routing'; -import WordpressDataSource from 'relaks-wordpress-data-source'; -import RouteManager from 'relaks-route-manager'; +import { DataSource } from 'relaks-wordpress-data-source'; +import { RouteManager } from 'relaks-route-manager'; import { harvest } from 'relaks-harvest'; +import { FrontEnd } from './front-end.jsx'; +import { Route, routes } from './routing.js'; const basePath = process.env.BASE_PATH; async function render(options) { - const dataSource = new WordpressDataSource({ - baseURL: options.host + basePath + 'json', - fetchFunc: options.fetch, - }); - dataSource.activate(); + const dataSource = new DataSource({ + baseURL: options.host + basePath + 'json', + fetchFunc: options.fetch, + }); + dataSource.activate(); - const routeManager = new RouteManager({ - routes, - basePath, - }); - routeManager.addEventListener('beforechange', (evt) => { - const route = new Route(routeManager, dataSource); - evt.postponeDefault(route.setParameters(evt, false)); - }); - routeManager.activate(); - await routeManager.start(options.path); + const routeManager = new RouteManager({ + routes, + basePath, + }); + routeManager.addEventListener('beforechange', (evt) => { + const route = new Route(routeManager, dataSource); + evt.postponeDefault(route.setParameters(evt, false)); + }); + routeManager.activate(); + await routeManager.start(options.path); - const ssrElement = createElement(FrontEnd, { dataSource, routeManager, ssr: options.target }); - const rootNode = await harvest(ssrElement); - const html = renderToString(rootNode); - return html; + const ssrElement = createElement(FrontEnd, { dataSource, routeManager, ssr: options.target }); + const rootNode = await harvest(ssrElement); + const html = renderToString(rootNode); + return html; } export { - render, - basePath, + render, + basePath, }; diff --git a/src/style.scss b/src/style.scss index 98c0041..67c7c08 100644 --- a/src/style.scss +++ b/src/style.scss @@ -1,566 +1,566 @@ * { - box-sizing: border-box; + box-sizing: border-box; } BODY { - overflow-x: hidden; - overflow-y: scroll; - overscroll-behavior: contain; - font-family: Arial, Helvetica, sans-serif; - margin: 0; - background-color: #66023c; // prevent white gap in side nav + overflow-x: hidden; + overflow-y: scroll; + overscroll-behavior: contain; + font-family: Arial, Helvetica, sans-serif; + margin: 0; + background-color: #66023c; // prevent white gap in side nav } .contents { - margin: 0.5em; + margin: 0.5em; } A { - &:link, &:visited { - text-decoration: none; - } + &:link, &:visited { + text-decoration: none; + } } .side-nav { - position: fixed; - width: 18em; - left: 0; - top: 0; - bottom: 0; - background-color: #66023c; - overflow-x: hidden; - overflow-y: auto; + position: fixed; + width: 18em; + left: 0; + top: 0; + bottom: 0; + background-color: #66023c; + overflow-x: hidden; + overflow-y: auto; + color: #cccccc; + padding: 0 1em 0 1em; + + A { + padding: 0.2em 0.5em 0.17em 0.5em; + margin-left: -0.4em; + margin-right: -0.4em; + text-shadow: 0 0 0 #fff; + cursor: pointer; color: #cccccc; - padding: 0 1em 0 1em; + + &:link, &:visited { + color: #cccccc; + + &.selected { + border-radius: 0.5em; + background-color: #990000; + color: #eeeeee; + } + } + + &:hover { + color: #eeccdd; + opacity: 1 !important; + } + + &.disabled { + opacity: 0.5; + cursor: default; + + &:hover { + opacity: 0.5 !important; + } + } + + &.highlighted { + transition: text-shadow 1s, color 1s, opacity 0.5s; + text-shadow: 0 0 3px #ffffff; + color: #ffffff; + } + } + + UL { + margin-left: -1em; + + LI { + margin-top: 0.2em; + margin-bottom: 0.2em; + } + } + + .tags { + margin-left: 0.5em; + line-height: 125%; A { - padding: 0.2em 0.5em 0.17em 0.5em; - margin-left: -0.4em; - margin-right: -0.4em; - text-shadow: 0 0 0 #fff; - cursor: pointer; - color: #cccccc; - - &:link, &:visited { - color: #cccccc; - - &.selected { - border-radius: 0.5em; - background-color: #990000; - color: #eeeeee; - } - } - - &:hover { - color: #eeccdd; - opacity: 1 !important; - } - - &.disabled { - opacity: 0.5; - cursor: default; - - &:hover { - opacity: 0.5 !important; - } - } - - &.highlighted { - transition: text-shadow 1s, color 1s, opacity 0.5s; - text-shadow: 0 0 3px #ffffff; - color: #ffffff; - } + white-space: nowrap; } - UL { - margin-left: -1em; + .more { + opacity: 0.9; + } + } - LI { - margin-top: 0.2em; - margin-bottom: 0.2em; - } + .archives { + .months { + overflow: hidden; + + &.collapsed { + height: 0; + } + } + } + + // use custom color only on desktop + @media only screen and (min-device-width : 800px) { + &::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2); + background-color: transparent; } - .tags { - margin-left: 0.5em; - line-height: 125%; - - A { - white-space: nowrap; - } - - .more { - opacity: 0.9; - } + &::-webkit-scrollbar { + width: 14px; + background-color: transparent; } - .archives { - .months { - overflow: hidden; - - &.collapsed { - height: 0; - } - } - } - - // use custom color only on desktop - @media only screen and (min-device-width : 800px) { - &::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2); - background-color: transparent; - } - - &::-webkit-scrollbar { - width: 14px; - background-color: transparent; - } - - &::-webkit-scrollbar-thumb { - border-radius: 2px; - -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2); - background-color: rgba(0,0,0,.2); - } + &::-webkit-scrollbar-thumb { + border-radius: 2px; + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2); + background-color: rgba(0,0,0,.2); } + } } .top-nav { - position: fixed; - left: 18em; - top: 0; - width: calc(100% - 18em); - background-color: #990000; // prevent visual glitch in Android + position: fixed; + left: 18em; + top: 0; + width: calc(100% - 18em); + background-color: #990000; // prevent visual glitch in Android - .title-bar { - display: flex; - align-items: center; - color: #ffffff; - background-color: #990000; - height: 4em; - transition: height 0.5s; + .title-bar { + display: flex; + align-items: center; + color: #ffffff; + background-color: #990000; + height: 4em; + transition: height 0.5s; - A:link, A:visited { - color: #ffffff; + A:link, A:visited { + color: #ffffff; - &:hover { - color: #ffdddd; - } - } - - .title { - .fa { - font-size: 2em; - transition: font-size 0.5s, margin-left 0.5s, margin-right 0.5s; - margin-left: 0.5em; - margin-right: 0.5em; - vertical-align: middle; - - .top-collapsed & { - font-size: 1em; - } - } - - .site-name { - font-size: 2em; - transition: font-size 0.5s; - vertical-align: middle; - text-transform: uppercase; - - .top-collapsed & { - font-size: 1em; - } - } - } - - .top-collapsed & { - height: 1.75em; - } + &:hover { + color: #ffdddd; + } } - .page-bar { - display: flex; - align-items: center; - background-color: #800000; - color: #cccccc; - height: 1.75em; - overflow: hidden; - transition: height 0.4s; - - A:link, A:visited { - color: #cccccc; - - &:hover { - color: #eecccc; - } - } - - .button { - flex: 0 0 auto; - padding-left: 0.5em; - padding-right: 0.5em; - border-right: 1px solid transparentize(#cccccc, 0.75); - - &:last-of-type { - border-right: 0; - } - } + .title { + .fa { + font-size: 2em; + transition: font-size 0.5s, margin-left 0.5s, margin-right 0.5s; + margin-left: 0.5em; + margin-right: 0.5em; + vertical-align: middle; .top-collapsed & { - height: 0; + font-size: 1em; } - } + } - .search-bar { - display: flex; - flex-direction: column; - background-color: #660000; - overflow: hidden; - height: 1.75em; - justify-content: center; - align-items: flex-end; - transition: height 0.3s; - padding-right: 0.25em; - - .input-container { - position: relative; - box-sizing: content-box; - - INPUT { - font-size: 1em; - max-width: 20em; - width: 100%; - padding-left: 1.5em; - border: 1px solid #660000; - border-radius: 0; - } - - .fa-search { - position: absolute; - left: 0.4em; - top: 0.4em; - font-size: 0.8em; - color: transparentize(#660000, 0.75); - pointer-events: none; - } - } + .site-name { + font-size: 2em; + transition: font-size 0.5s; + vertical-align: middle; + text-transform: uppercase; .top-collapsed & { - height: 0; + font-size: 1em; } + } } + + .top-collapsed & { + height: 1.75em; + } + } + + .page-bar { + display: flex; + align-items: center; + background-color: #800000; + color: #cccccc; + height: 1.75em; + overflow: hidden; + transition: height 0.4s; + + A:link, A:visited { + color: #cccccc; + + &:hover { + color: #eecccc; + } + } + + .button { + flex: 0 0 auto; + padding-left: 0.5em; + padding-right: 0.5em; + border-right: 1px solid transparentize(#cccccc, 0.75); + + &:last-of-type { + border-right: 0; + } + } + + .top-collapsed & { + height: 0; + } + } + + .search-bar { + display: flex; + flex-direction: column; + background-color: #660000; + overflow: hidden; + height: 1.75em; + justify-content: center; + align-items: flex-end; + transition: height 0.3s; + padding-right: 0.25em; + + .input-container { + position: relative; + box-sizing: content-box; + + INPUT { + font-size: 1em; + max-width: 20em; + width: 100%; + padding-left: 1.5em; + border: 1px solid #660000; + border-radius: 0; + } + + .fa-search { + position: absolute; + left: 0.4em; + top: 0.4em; + font-size: 0.8em; + color: transparentize(#660000, 0.75); + pointer-events: none; + } + } + + .top-collapsed & { + height: 0; + } + } } .page-container { - padding-top: 7.5em; - padding-bottom: 1em; - padding-left: 1em; - padding-right: 1em; - margin-left: 18em; - min-height: 100vh; - background-color: #ffffff; + padding-top: 7.5em; + padding-bottom: 1em; + padding-left: 1em; + padding-right: 1em; + margin-left: 18em; + min-height: 100vh; + background-color: #ffffff; - A:link, A:visited { - color: #660000; + A:link, A:visited { + color: #660000; - &:hover { - color: #990000; - } + &:hover { + color: #990000; + } + } + + .page, .post { + max-width: 60em; + + .meta { + float: right; + text-align: right; + margin-left: 1em; + margin-top: 0.4em; + + .author { + margin-top: 0.25em; + } } - .page, .post { - max-width: 60em; + .post-list-view { + margin-top: 1em; - .meta { - float: right; - text-align: right; - margin-left: 1em; - margin-top: 0.4em; + .headline { + display: flex; + margin-bottom: 0.35em; - .author { - margin-top: 0.25em; - } + .title { + flex: 1 1 auto; + margin-top: 0; + margin-bottom: 0; } - .post-list-view { - margin-top: 1em; + .date { + flex: 0 0 6em; + text-align: right; + } + } - .headline { - display: flex; - margin-bottom: 0.35em; + .excerpt { + P { + margin-top: 0; + margin-bottom: 0; + } + } - .title { - flex: 1 1 auto; - margin-top: 0; - margin-bottom: 0; - } + &.with-media { + display: flex; - .date { - flex: 0 0 6em; - text-align: right; - } - } + .media { + flex: 0 0 110px; - .excerpt { - P { - margin-top: 0; - margin-bottom: 0; - } - } - - &.with-media { - display: flex; - - .media { - flex: 0 0 110px; - - IMG { - border: 1px solid #333333; - box-sizing: content-box; - width: 100px; - height: 100px; - } - } - - .text { - flex: 1 1 auto; - } - } + IMG { + border: 1px solid #333333; + box-sizing: content-box; + width: 100px; + height: 100px; + } } - .comments { - font-size: 0.9rem; - padding-left: 1.5em; - - .commenter { - .avatar { - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - margin-bottom: -0.5em; - } - - .name { - font-weight: bold; - vertical-align: middle; - } - } - - .replies { - padding-left: 1.5em; - } - } - - IMG { - max-width: 100%; - height: auto; - } - - .wp-caption { - max-width: 100%; + .text { + flex: 1 1 auto; } + } } + + .comments { + font-size: 0.9rem; + padding-left: 1.5em; + + .commenter { + .avatar { + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + margin-bottom: -0.5em; + } + + .name { + font-weight: bold; + vertical-align: middle; + } + } + + .replies { + padding-left: 1.5em; + } + } + + IMG { + max-width: 100%; + height: auto; + } + + .wp-caption { + max-width: 100%; + } + } } .overlay { - position: absolute; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; +} + +.image-dialog { + .background, .foreground { + position: fixed; left: 0; top: 0; right: 0; bottom: 0; -} + } -.image-dialog { - .background, .foreground { - position: fixed; - left: 0; - top: 0; - right: 0; - bottom: 0; - } - - .background { - background-color: #ffffff; - opacity: 0.5; - } - - .foreground { - display: flex; - align-items: center; - justify-content: center; - pointer-events: none; - - .box { - position: relative; - pointer-events: auto; - background: #66023c; - border-color: 1px solid black; - padding: 1em 1em 1em 1em; - box-shadow: 2px 2px 10px #000000; - max-width: 90%; - color: #cccccc; - - .image { - display: block; - border: 1px solid #000000; - max-width: 100%; - max-height: 80vh; - height: auto; - } - - .close-button { - position: absolute; - font-size: 0.75em; - padding: 0.25em 0.25em 0.25em 0.25em; - margin: -0.25em -0.25em -0.25em -0.25em; - right: 0.35em; - top: 0.35em; - cursor: pointer; - } - } + .background { + background-color: #ffffff; + opacity: 0.5; + } + + .foreground { + display: flex; + align-items: center; + justify-content: center; + pointer-events: none; + + .box { + position: relative; + pointer-events: auto; + background: #66023c; + border-color: 1px solid black; + padding: 1em 1em 1em 1em; + box-shadow: 2px 2px 10px #000000; + max-width: 90%; + color: #cccccc; + + .image { + display: block; + border: 1px solid #000000; + max-width: 100%; + max-height: 80vh; + height: auto; + } + + .close-button { + position: absolute; + font-size: 0.75em; + padding: 0.25em 0.25em 0.25em 0.25em; + margin: -0.25em -0.25em -0.25em -0.25em; + right: 0.35em; + top: 0.35em; + cursor: pointer; + } } + } } .error-boundary { - color: red; - font-size: 2em; - border: 3px double red; - text-align: center; - padding: 0.5em; + color: red; + font-size: 2em; + border: 3px double red; + text-align: center; + padding: 0.5em; } @media only screen and (max-width: 800px) { - .page-container { - transition: margin-left 0.3s; - margin-right: -17em; + .page-container { + transition: margin-left 0.3s; + margin-right: -17em; - .side-collapsed & { - margin-left: 1em; - margin-right: 0; + .side-collapsed & { + margin-left: 1em; + margin-right: 0; + } + } + + .top-nav { + transition: left 0.3s; + left: 18em; + width: calc(100% - 1em); + + .title-bar { + height: 3em; + + .title { + .fa { + font-size: 1.6em; + + .top-collapsed & { + font-size: 0.9em; + } } + + .site-name { + font-size: 1.1em; + + .top-collapsed & { + font-size: 0.9em; + } + } + } } - .top-nav { - transition: left 0.3s; - left: 18em; - width: calc(100% - 1em); + .side-collapsed & { + left: 1em; + } + } - .title-bar { - height: 3em; + .side-nav { + width: 18em; + transition: left 0.3s; + margin-right: -17em; - .title { - .fa { - font-size: 1.6em; + .side-collapsed & { + left: -17em; + } + } - .top-collapsed & { - font-size: 0.9em; - } - } + .page-container { + padding-top: 6em; + width: calc(100% - 1em); + max-width: none; - .site-name { - font-size: 1.1em; - - .top-collapsed & { - font-size: 0.9em; - } - } - } - } - - .side-collapsed & { - left: 1em; - } + .side-collapsed & { + margin-right: 0; } - .side-nav { - width: 18em; - transition: left 0.3s; - margin-right: -17em; + .page, .post { + max-width: none; - .side-collapsed & { - left: -17em; - } - } - - .page-container { - padding-top: 6em; - width: calc(100% - 1em); - max-width: none; - - .side-collapsed & { - margin-right: 0; - } - - .page, .post { - max-width: none; - - .meta { - float: none; - text-align: left; - margin-left: 0; - margin-top: 0; - overflow: hidden; - - .date { - float: left; - } - - .author { - float: right; - margin-top: 0; - } - } - - .post-list-view { - .headline { - display: block; - - .date { - text-align: left; - margin-top: 0.5em; - } - } - - &.with-media { - display: block; - - .media { - display: none; - } - - .text { - flex: 1 1 auto; - } - } - } + .meta { + float: none; + text-align: left; + margin-left: 0; + margin-top: 0; + overflow: hidden; + + .date { + float: left; } + + .author { + float: right; + margin-top: 0; + } + } + + .post-list-view { + .headline { + display: block; + + .date { + text-align: left; + margin-top: 0.5em; + } + } + + &.with-media { + display: block; + + .media { + display: none; + } + + .text { + flex: 1 1 auto; + } + } + } } + } } IFRAME { - max-width: 100%; - height: auto; + max-width: 100%; + height: auto; } @media only screen and (max-width: 400px) { - .top-nav { - .page-bar { - } - - .search-bar { - padding-right: 0; - - .input-container { - width: 100%; - - INPUT { - font-size: 0.9em; - padding-top: 0.1em; - padding-bottom: 0.1em; - border: 0; - width: 100%; - max-width: none; - } - } - } + .top-nav { + .page-bar { } + + .search-bar { + padding-right: 0; + + .input-container { + width: 100%; + + INPUT { + font-size: 0.9em; + padding-top: 0.1em; + padding-bottom: 0.1em; + border: 0; + width: 100%; + max-width: none; + } + } + } + } } diff --git a/src/widgets/breadcrumb.jsx b/src/widgets/breadcrumb.jsx index 4f59cde..33284d5 100644 --- a/src/widgets/breadcrumb.jsx +++ b/src/widgets/breadcrumb.jsx @@ -1,17 +1,17 @@ import React from 'react'; function Breadcrumb(props) { - const { trail } = props; - const children = [] - let key = 0; - for (let item of trail) { - children.push({item.label}); - children.push(' > '); - } - children.pop(); - return

{children}

; + const { trail } = props; + const children = [] + let key = 0; + for (let item of trail) { + children.push({item.label}); + children.push(' > '); + } + children.pop(); + return

{children}

; } export { - Breadcrumb, + Breadcrumb, }; diff --git a/src/widgets/comment-list-view.jsx b/src/widgets/comment-list-view.jsx index f2ced3b..44f3af1 100644 --- a/src/widgets/comment-list-view.jsx +++ b/src/widgets/comment-list-view.jsx @@ -1,38 +1,38 @@ import _ from 'lodash'; import React from 'react'; -import { HTML } from 'widgets/html'; -import { CommentList } from 'widgets/comment-list'; +import { HTML } from './html.jsx'; +import { CommentList } from './comment-list.jsx'; function CommentListView(props) { - const { comment, allComments } = props; - const content = _.get(comment, 'content.rendered', ''); - const avatarURL = _.get(comment, 'author_avatar_urls.24'); - const name = _.get(comment, 'author_name'); + const { comment, allComments } = props; + const content = _.get(comment, 'content.rendered', ''); + const avatarURL = _.get(comment, 'author_avatar_urls.24'); + const name = _.get(comment, 'author_name'); - return ( -
-
- - {name}: -
- - {renderReplies()} -
- ); + return ( +
+
+ + {name}: +
+ + {renderReplies()} +
+ ); - function renderReplies() { - if (!_.some(allComments, { parent: comment.id })) { - return null; - } - return ( -
- -
- ); + function renderReplies() { + if (!_.some(allComments, { parent: comment.id })) { + return null; } + return ( +
+ +
+ ); + } } export { - CommentListView, + CommentListView, }; diff --git a/src/widgets/comment-list.jsx b/src/widgets/comment-list.jsx index 5c811b7..e776244 100644 --- a/src/widgets/comment-list.jsx +++ b/src/widgets/comment-list.jsx @@ -1,23 +1,23 @@ import _ from 'lodash'; import React from 'react'; -import { CommentListView } from 'widgets/comment-list-view'; +import { CommentListView } from './comment-list-view.jsx'; function CommentList(props) { - const { allComments, parentCommentID } = props; - const comments = _.filter(allComments, { parent: parentCommentID }); + const { allComments, parentCommentID } = props; + const comments = _.filter(allComments, { parent: parentCommentID }); - return ( -
- {comments.map(renderComment)} -
- ); + return ( +
+ {comments.map(renderComment)} +
+ ); - function renderComment(comment, i) { - return ; - } + function renderComment(comment, i) { + return ; + } } export { - CommentList, + CommentList, }; diff --git a/src/widgets/comment-section.jsx b/src/widgets/comment-section.jsx index a8ceef0..8d7ec5f 100644 --- a/src/widgets/comment-section.jsx +++ b/src/widgets/comment-section.jsx @@ -1,21 +1,21 @@ import _ from 'lodash'; import React from 'react'; -import { CommentList } from 'widgets/comment-list'; +import { CommentList } from './comment-list.jsx'; function CommentSection(props) { - const { comments } = props; - if (_.isEmpty(comments)) { - return null; - } - return ( -
-

Comments

- -
- ); + const { comments } = props; + if (_.isEmpty(comments)) { + return null; + } + return ( +
+

Comments

+ +
+ ); } export { - CommentSection, + CommentSection, }; diff --git a/src/widgets/error-boundary.jsx b/src/widgets/error-boundary.jsx index 32053bd..8fc6355 100644 --- a/src/widgets/error-boundary.jsx +++ b/src/widgets/error-boundary.jsx @@ -1,28 +1,26 @@ import React, { Component } from 'react'; class ErrorBoundary extends Component { - static displayName = 'ErrorBoundary'; + constructor(props) { + super(props); + this.state = { error: null }; + } - constructor(props) { - super(props); - this.state = { error: null }; + render() { + const { children } = this.props; + const { error } = this.state; + if (error) { + return
{error.message}
; } + return children || null; + } - render() { - let { children } = this.props; - let { error } = this.state; - if (error) { - return
{error.message}
; - } - return children || null; - } - - componentDidCatch(error, info) { - let { env } = this.props; - this.setState({ error }); - } + componentDidCatch(error, info) { + const { env } = this.props; + this.setState({ error }); + } } export { - ErrorBoundary, + ErrorBoundary, }; diff --git a/src/widgets/html.jsx b/src/widgets/html.jsx index db10ad0..ee6cd79 100644 --- a/src/widgets/html.jsx +++ b/src/widgets/html.jsx @@ -2,13 +2,13 @@ import React from 'react'; import ReactHtmlParser from 'react-html-parser'; function HTML(props) { - const { text, transform } = props; - const options = { transform }; - // fix unescaped < - const fixed = text.replace(/<([^>]*)]*) { + if (onClose) { + onClose({ + type: 'close', + target, + }); } + }; - const handleCloseClick = (evt) => { - if (onClose) { - onClose({ - type: 'close', - target, - }); - } - }; + const container = document.getElementById('overlay'); + const dialog = renderDialog(); + return ReactDOM.createPortal(dialog, container); - const container = document.getElementById('overlay'); - const dialog = renderDialog(); - return ReactDOM.createPortal(dialog, container); - - function renderDialog() { - return ( -
-
-
-
-
- -
- -
-
+ function renderDialog() { + return ( +
+
+
+
+
+
- ); - } + +
+
+
+ ); + } } export { - ImageDialog, + ImageDialog, }; diff --git a/src/widgets/media-view.jsx b/src/widgets/media-view.jsx index 7a5aa09..98a88d0 100644 --- a/src/widgets/media-view.jsx +++ b/src/widgets/media-view.jsx @@ -3,18 +3,18 @@ import Moment from 'moment'; import React from 'react'; function MediaView(props) { - const { media, size } = props; - let info = _.get(media, [ 'media_details', 'sizes', size ]); - if (!info) { - info = media; - } - return ; + const { media, size } = props; + let info = _.get(media, [ 'media_details', 'sizes', size ]); + if (!info) { + info = media; + } + return ; } MediaView.defaultProps = { - size: 'thumbnail', + size: 'thumbnail', }; export { - MediaView, + MediaView, }; diff --git a/src/widgets/page-list-view.jsx b/src/widgets/page-list-view.jsx index 1ddde64..00d745a 100644 --- a/src/widgets/page-list-view.jsx +++ b/src/widgets/page-list-view.jsx @@ -1,19 +1,19 @@ import _ from 'lodash'; import React from 'react'; -import { HTML } from 'widgets/html'; +import { HTML } from './html.jsx'; function PageListView(props) { - const { route, page } = props; - const title = _.get(page, 'title.rendered', ''); - const url = route.prefetchObjectURL(page); - return ( -
- -
- ); + const { route, page } = props; + const title = _.get(page, 'title.rendered', ''); + const url = route.prefetchObjectURL(page); + return ( +
+ +
+ ); } export { - PageListView, + PageListView, }; diff --git a/src/widgets/page-list.jsx b/src/widgets/page-list.jsx index edda01a..a7ff260 100644 --- a/src/widgets/page-list.jsx +++ b/src/widgets/page-list.jsx @@ -1,34 +1,34 @@ import _ from 'lodash'; import React, { useEffect } from 'react'; -import { Route } from 'routing'; +import { Route } from '../routing.js'; -import { PageListView } from 'widgets/page-list-view'; +import { PageListView } from './page-list-view.jsx'; function PageList(props) { - let { route, pages } = props; - if (!pages) { - return null; - } + const { route, pages } = props; + if (!pages) { + return null; + } - useEffect(() => { - pages.more(); - }, [ pages ]); + useEffect(() => { + pages.more(); + }, [ pages ]); + return ( +
    + {pages.map(renderPage)} +
+ ); + + function renderPage(page, i) { return ( -
    - {pages.map(renderPage)} -
+
  • + +
  • ); - - function renderPage(page, i) { - return ( -
  • - -
  • - ); - } + } } export { - PageList, + PageList, }; diff --git a/src/widgets/page-view.jsx b/src/widgets/page-view.jsx index 6d608ca..54d5185 100644 --- a/src/widgets/page-view.jsx +++ b/src/widgets/page-view.jsx @@ -2,28 +2,28 @@ import _ from 'lodash'; import Moment from 'moment'; import React from 'react'; -import { HTML } from 'widgets/html'; +import { HTML } from './html.jsx'; function PageView(props) { - const { page, transform } = props; - const title = _.get(page, 'title.rendered', ''); - const content = _.get(page, 'content.rendered', ''); - const modified = _.get(page, 'modified_gmt'); - const date = (modified) ? Moment(modified).format('LL') : ''; + const { page, transform } = props; + const title = _.get(page, 'title.rendered', ''); + const content = _.get(page, 'content.rendered', ''); + const modified = _.get(page, 'modified_gmt'); + const date = (modified) ? Moment(modified).format('LL') : ''; - return ( -
    -
    -
    {date}
    -
    -

    -
    - -
    -
    - ); + return ( +
    +
    +
    {date}
    +
    +

    +
    + +
    +
    + ); } export { - PageView, + PageView, }; diff --git a/src/widgets/post-list-view.jsx b/src/widgets/post-list-view.jsx index 0a8ad92..fe6c5f3 100644 --- a/src/widgets/post-list-view.jsx +++ b/src/widgets/post-list-view.jsx @@ -2,62 +2,62 @@ import _ from 'lodash'; import Moment from 'moment'; import React from 'react'; -import { HTML } from 'widgets/html'; -import { MediaView } from 'widgets/media-view'; +import { HTML } from './html.jsx'; +import { MediaView } from './media-view.jsx'; function PostListView(props) { - const { route, post, media } = props; - const title = _.get(post, 'title.rendered', ''); - const excerptRendered = _.get(post, 'excerpt.rendered', ''); - const excerpt = cleanExcerpt(excerptRendered); - const url = route.prefetchObjectURL(post); - const published = _.get(post, 'date_gmt'); - const date = (published) ? Moment(published).format('L') : ''; + const { route, post, media } = props; + const title = _.get(post, 'title.rendered', ''); + const excerptRendered = _.get(post, 'excerpt.rendered', ''); + const excerpt = cleanExcerpt(excerptRendered); + const url = route.prefetchObjectURL(post); + const published = _.get(post, 'date_gmt'); + const date = (published) ? Moment(published).format('L') : ''; - if (media) { - return ( -
    -
    - -
    -
    -
    -

    - -

    -
    {date}
    -
    -
    - -
    -
    -
    - ); - } else { - return ( -
    -
    -

    - -

    -
    {date}
    -
    -
    - -
    -
    - ); - } + if (media) { + return ( +
    +
    + +
    +
    +
    +

    + +

    +
    {date}
    +
    +
    + +
    +
    +
    + ); + } else { + return ( +
    +
    +

    + +

    +
    {date}
    +
    +
    + +
    +
    + ); + } - function cleanExcerpt(excerpt) { - const index = excerpt.indexOf('
    - {posts.map(renderPost)} -
    - ); + }, [ posts ]); - function renderPost(post, i) { - let media = _.find(medias, { id: post.featured_media }); - return - } + if (!posts) { + return null; + } + return ( +
    + {posts.map(renderPost)} +
    + ); + + function renderPost(post, i) { + let media = _.find(medias, { id: post.featured_media }); + return + } } PostList.defaultProps = { - minimum: 20, - maximum: 500, + minimum: 20, + maximum: 500, }; export { - PostList, + PostList, }; diff --git a/src/widgets/post-view.jsx b/src/widgets/post-view.jsx index 2d2fcde..543fe7f 100644 --- a/src/widgets/post-view.jsx +++ b/src/widgets/post-view.jsx @@ -2,54 +2,54 @@ import _ from 'lodash'; import Moment from 'moment'; import React, { useState } from 'react'; -import { HTML } from 'widgets/html'; -import { ImageDialog } from 'widgets/image-dialog'; +import { HTML } from './html.jsx'; +import { ImageDialog } from './image-dialog.jsx'; function PostView(props) { - const { post, author, transform } = props; - const [ imageURL, setImageURL ] = useState(null); + const { post, author, transform } = props; + const [ imageURL, setImageURL ] = useState(null); - const handleClick = (evt) => { - const target = evt.target; - const container = evt.currentTarget; - if (target.tagName === 'IMG') { - let link; - for (let p = target; p && p !== container; p = p.parentNode) { - if (p.tagName === 'A') { - link = p; - break; - } - } - if (link) { - setImageURL(link.href); - evt.preventDefault(); - } + const handleClick = (evt) => { + const target = evt.target; + const container = evt.currentTarget; + if (target.tagName === 'IMG') { + let link; + for (let p = target; p && p !== container; p = p.parentNode) { + if (p.tagName === 'A') { + link = p; + break; } - }; - const handleDialogClose = (evt) => { - setImageURL(null); - }; + } + if (link) { + setImageURL(link.href); + evt.preventDefault(); + } + } + }; + const handleDialogClose = (evt) => { + setImageURL(null); + }; - const title = _.get(post, 'title.rendered', ''); - const content = _.get(post, 'content.rendered', ''); - const name = _.get(author, 'name', '\u00a0'); - const published = _.get(post, 'date_gmt'); - const date = (published) ? Moment(published).format('LL') : ''; - return ( -
    -
    -
    {date}
    -
    {name}
    -
    -

    -
    - -
    - -
    - ); + const title = _.get(post, 'title.rendered', ''); + const content = _.get(post, 'content.rendered', ''); + const name = _.get(author, 'name', '\u00a0'); + const published = _.get(post, 'date_gmt'); + const date = (published) ? Moment(published).format('LL') : ''; + return ( +
    +
    +
    {date}
    +
    {name}
    +
    +

    +
    + +
    + +
    + ); } export { - PostView, + PostView, }; diff --git a/src/widgets/side-nav.jsx b/src/widgets/side-nav.jsx index b546b15..b32b03d 100644 --- a/src/widgets/side-nav.jsx +++ b/src/widgets/side-nav.jsx @@ -4,286 +4,286 @@ import React, { useState } from 'react'; import Relaks, { useProgress } from 'relaks'; async function SideNav(props) { - const { wp, route } = props; - const { date } = route.params; - const [ selectedYear, setSelectedYear ] = useState(() => { - return _.get(date, 'year', Moment().year()); - }); - const [ show ] = useProgress(50, 50); + const { wp, route } = props; + const { date } = route.params; + const [ selectedYear, setSelectedYear ] = useState(() => { + return _.get(date, 'year', Moment().year()); + }); + const [ show ] = useProgress(50, 50); - const handleYearClick = (evt) => { - const year = parseInt(evt.currentTarget.getAttribute('data-year')); - if (selectedYear !== year) { - setSelectedYear(year); - } else { - setSelectedYear(NaN); - } - }; - const handleMoreTagClick = (evt) => { - tags.more(); - }; + const handleYearClick = (evt) => { + const year = parseInt(evt.currentTarget.getAttribute('data-year')); + if (selectedYear !== year) { + setSelectedYear(year); + } else { + setSelectedYear(NaN); + } + }; + const handleMoreTagClick = (evt) => { + tags.more(); + }; + render(); + // get all categories + const categories = await wp.fetchCategories(); + render (); + // get top tags + const tags = await wp.fetchTopTags(); + render (); + + // get the date range of posts and use that to build the list of + // years and months + const range = await wp.getPostDateRange(); + const archives = []; + if (range) { + // loop through the years + const lastYear = range.latest.year(); + const firstYear = range.earliest.year(); + for (let y = lastYear; y >= firstYear; y--) { + const yearEntry = { + year: y, + label: Moment(`${y}-01-01`).format('YYYY'), + months: [] + }; + archives.push(yearEntry); + + // loop through the months + const lastMonth = (y === lastYear) ? range.latest.month() : 11; + const firstMonth = (y === firstYear) ? range.earliest.month() : 0; + for (let m = lastMonth; m >= firstMonth; m--) { + const start = Moment(new Date(y, m, 1)); + const end = start.clone().endOf('month'); + const monthEntry = { + year: y, + month: m + 1, + label: start.format('MMMM'), + }; + yearEntry.months.push(monthEntry); + } + } render(); - // get all categories - const categories = await wp.fetchCategories(); - render (); - // get top tags - const tags = await wp.fetchTopTags(); - render (); + } - // get the date range of posts and use that to build the list of - // years and months - const range = await wp.getPostDateRange(); - const archives = []; - if (range) { - // loop through the years - const lastYear = range.latest.year(); - const firstYear = range.earliest.year(); - for (let y = lastYear; y >= firstYear; y--) { - const yearEntry = { - year: y, - label: Moment(`${y}-01-01`).format('YYYY'), - months: [] - }; - archives.push(yearEntry); - - // loop through the months - const lastMonth = (y === lastYear) ? range.latest.month() : 11; - const firstMonth = (y === firstYear) ? range.earliest.month() : 0; - for (let m = lastMonth; m >= firstMonth; m--) { - const start = Moment(new Date(y, m, 1)); - const end = start.clone().endOf('month'); - const monthEntry = { - year: y, - month: m + 1, - label: start.format('MMMM'), - }; - yearEntry.months.push(monthEntry); - } + const postLists = []; + if (!wp.ssr) { + try { + // load the posts of each month of the selected year + for (let yearEntry of archives) { + if (yearEntry.year === selectedYear) { + for (let monthEntry of yearEntry.months) { + const posts = await wp.fetchPostsInMonth(monthEntry); + postLists.push({ monthEntry, posts }); + render(); + } } - render(); + } + + // load the posts of each category + for (let category of categories) { + if (category.count > 0) { + const posts = await wp.fetchPostsInCategory(category); + postLists.push({ category, posts }); + render(); + } + } + + // load the posts of each tag + for (let tag of tags) { + if (tag.count > 0) { + const posts = await wp.fetchPostsWithTag(tag); + postLists.push({ tag, posts }); + render(); + } + } + } catch (err) { } + } - const postLists = []; - if (!wp.ssr) { - try { - // load the posts of each month of the selected year - for (let yearEntry of archives) { - if (yearEntry.year === selectedYear) { - for (let monthEntry of yearEntry.months) { - const posts = await wp.fetchPostsInMonth(monthEntry); - postLists.push({ monthEntry, posts }); - render(); - } - } - } + function render() { + show( +
    + {renderCategories()} + {renderTags()} + {renderArchives()} +
    + ); + } - // load the posts of each category - for (let category of categories) { - if (category.count > 0) { - const posts = await wp.fetchPostsInCategory(category); - postLists.push({ category, posts }); - render(); - } - } - - // load the posts of each tag - for (let tag of tags) { - if (tag.count > 0) { - const posts = await wp.fetchPostsWithTag(tag); - postLists.push({ tag, posts }); - render(); - } - } - } catch (err) { - } + function renderCategories() { + // only top-level categories + const subcategories = _.filter(categories, { parent: 0 }); + // don't show categories with no post + const filtered = _.filter(subcategories, 'count'); + const ordered = _.orderBy(filtered, [ 'name' ], [ 'asc' ]); + if (_.isEmpty(ordered)) { + return null; } + return ( +
    +

    Categories

    +
      + {ordered.map(renderCategory)} +
    +
    + ); + } - function render() { - show( -
    - {renderCategories()} - {renderTags()} - {renderArchives()} -
    - ); + function renderCategory(category, i) { + const { categorySlug } = route.params; + const name = _.get(category, 'name', ''); + const description = _.unescape(_.get(category, 'description', '').replace(/'/g, "'")); + const url = route.prefetchObjectURL(category); + const classNames = []; + if (category.slug === categorySlug) { + classNames.push('selected'); + } else { + const postList = _.find(postLists, { category }); + if (hasRecentPost(postList, 1)) { + classNames.push('highlighted'); + } } + return ( +
  • + {name} + {renderSubcategories(category)} +
  • + ); + } - function renderCategories() { - // only top-level categories - const subcategories = _.filter(categories, { parent: 0 }); - // don't show categories with no post - const filtered = _.filter(subcategories, 'count'); - const ordered = _.orderBy(filtered, [ 'name' ], [ 'asc' ]); - if (_.isEmpty(ordered)) { - return null; - } - return ( -
    -

    Categories

    -
      - {ordered.map(renderCategory)} -
    -
    - ); + function renderTags() { + // don't show tags with no post + const activeTags = _.filter(tags, 'count'); + // list tags with more posts first + const ordered = _.orderBy(activeTags, [ 'count', 'name' ], [ 'desc', 'asc' ]); + if (_.isEmpty(ordered)) { + return null; } + return ( +
    +

    Tags

    +
    + {ordered.map(renderTag)} + {renderMoreTagButton()} +
    +
    + ); + } - function renderCategory(category, i) { - const { categorySlug } = route.params; - const name = _.get(category, 'name', ''); - const description = _.unescape(_.get(category, 'description', '').replace(/'/g, "'")); - const url = route.prefetchObjectURL(category); - const classNames = []; - if (category.slug === categorySlug) { - classNames.push('selected'); - } else { - const postList = _.find(postLists, { category }); - if (hasRecentPost(postList, 1)) { - classNames.push('highlighted'); - } - } - return ( -
  • - {name} - {renderSubcategories(category)} -
  • - ); + function renderTag(tag, i) { + const { tagSlug } = route.params; + const name = _.get(tag, 'name', ''); + const description = _.unescape(_.get(tag, 'description', '').replace(/'/g, "'")); + const url = route.prefetchObjectURL(tag); + const classNames = []; + if (tag.slug === tagSlug) { + classNames.push('selected'); + } else { + const postList = _.find(postLists, { tag }); + if (hasRecentPost(postList, 1)) { + classNames.push('highlighted'); + } } + return ( + + {name} + {' '} + + ); + } - function renderTags() { - // don't show tags with no post - const activeTags = _.filter(tags, 'count'); - // list tags with more posts first - const ordered = _.orderBy(activeTags, [ 'count', 'name' ], [ 'desc', 'asc' ]); - if (_.isEmpty(ordered)) { - return null; - } - return ( -
    -

    Tags

    -
    - {ordered.map(renderTag)} - {renderMoreTagButton()} -
    -
    - ); + function renderMoreTagButton() { + if (!_.some(tags, 'count')) { + return null; } + if (!(tags.length < tags.total) || tags.length >= 100) { + return null; + } + return ... more; + } - function renderTag(tag, i) { - const { tagSlug } = route.params; - const name = _.get(tag, 'name', ''); - const description = _.unescape(_.get(tag, 'description', '').replace(/'/g, "'")); - const url = route.prefetchObjectURL(tag); - const classNames = []; - if (tag.slug === tagSlug) { - classNames.push('selected'); - } else { - const postList = _.find(postLists, { tag }); - if (hasRecentPost(postList, 1)) { - classNames.push('highlighted'); - } - } - return ( - - {name} - {' '} - - ); + function renderSubcategories(category) { + const subcategories = _.filter(categories, { parent: category.id }); + const filtered = _.filter(subcategories, 'count'); + const ordered = _.orderBy(filtered, [ 'count', 'name' ], [ 'desc', 'asc' ]); + if (_.isEmpty(ordered)) { + return null; } + return ( +
      + {ordered.map(renderCategory)} +
    + ); + } - function renderMoreTagButton() { - if (!_.some(tags, 'count')) { - return null; - } - if (!(tags.length < tags.total) || tags.length >= 100) { - return null; - } - return ... more; + function renderArchives() { + if (_.isEmpty(archives)) { + return null; } + return ( +
    +

    Archives

    +
      + {archives.map(renderYear)} +
    +
    + ); + } - function renderSubcategories(category) { - const subcategories = _.filter(categories, { parent: category.id }); - const filtered = _.filter(subcategories, 'count'); - const ordered = _.orderBy(filtered, [ 'count', 'name' ], [ 'desc', 'asc' ]); - if (_.isEmpty(ordered)) { - return null; - } - return ( -
      - {ordered.map(renderCategory)} -
    - ); + function renderYear(yearEntry, i) { + const listClassNames = [ 'months'] ; + if (yearEntry.year !== selectedYear) { + listClassNames.push('collapsed'); } + return ( +
  • + + {yearEntry.label} + +
      + {yearEntry.months.map(renderMonth)} +
    +
  • + ) + } - function renderArchives() { - if (_.isEmpty(archives)) { - return null; - } - return ( -
    -

    Archives

    -
      - {archives.map(renderYear)} -
    -
    - ); + function renderMonth(monthEntry, i) { + const { date } = route.params; + const classNames = []; + let url; + if (monthEntry.year !== selectedYear) { + return null; } + if (date && monthEntry.year === date.year && monthEntry.month === date.month) { + classNames.push('selected'); + } + const postList = _.find(postLists, { monthEntry }); + if (!postList || !_.isEmpty(postList.posts)) { + url = route.prefetchArchiveURL(monthEntry); + } else { + classNames.push('disabled'); + } + return ( +
  • + + {monthEntry.label} + +
  • + ); + } - function renderYear(yearEntry, i) { - const listClassNames = [ 'months'] ; - if (yearEntry.year !== selectedYear) { - listClassNames.push('collapsed'); - } - return ( -
  • - - {yearEntry.label} - -
      - {yearEntry.months.map(renderMonth)} -
    -
  • - ) - } - - function renderMonth(monthEntry, i) { - const { date } = route.params; - const classNames = []; - let url; - if (monthEntry.year !== selectedYear) { - return null; - } - if (date && monthEntry.year === date.year && monthEntry.month === date.month) { - classNames.push('selected'); - } - const postList = _.find(postLists, { monthEntry }); - if (!postList || !_.isEmpty(postList.posts)) { - url = route.prefetchArchiveURL(monthEntry); - } else { - classNames.push('disabled'); - } - return ( -
  • - - {monthEntry.label} - -
  • - ); - } - - function hasRecentPost(postList, daysOld) { - if (!postList || _.isEmpty(postList.posts)) { - return false; - } - const post = _.first(postList.posts); - const limit = Moment().subtract(daysOld, 'day'); - const publicationDate = Moment(post.date_gmt); - return limit < publicationDate; + function hasRecentPost(postList, daysOld) { + if (!postList || _.isEmpty(postList.posts)) { + return false; } + const post = _.first(postList.posts); + const limit = Moment().subtract(daysOld, 'day'); + const publicationDate = Moment(post.date_gmt); + return limit < publicationDate; + } } const component = Relaks.memo(SideNav); export { - component as SideNav, + component as SideNav, }; diff --git a/src/widgets/tag-list.jsx b/src/widgets/tag-list.jsx index cef3302..c065aef 100644 --- a/src/widgets/tag-list.jsx +++ b/src/widgets/tag-list.jsx @@ -2,28 +2,28 @@ import _ from 'lodash'; import React from 'react'; function TagList(props) { - const { route, tags } = props; - if (_.isEmpty(tags)) { - return null; - } - return ( -
    - Tags: {tags.map(renderTag)} -
    - ); + const { route, tags } = props; + if (_.isEmpty(tags)) { + return null; + } + return ( +
    + Tags: {tags.map(renderTag)} +
    + ); - function renderTag(tag, i) { - const name = _.get(tag, 'name', ''); - const url = route.prefetchObjectURL(tag); - return ( - - {name} - {' '} - - ); - } + function renderTag(tag, i) { + const name = _.get(tag, 'name', ''); + const url = route.prefetchObjectURL(tag); + return ( + + {name} + {' '} + + ); + } } export { - TagList, + TagList, }; diff --git a/src/widgets/top-nav.jsx b/src/widgets/top-nav.jsx index 0e79f63..e12edf1 100644 --- a/src/widgets/top-nav.jsx +++ b/src/widgets/top-nav.jsx @@ -3,91 +3,91 @@ import React from 'react'; import Relaks, { useProgress, useSaveBuffer } from 'relaks'; async function TopNav(props) { - const { wp, route } = props; - const [ show ] = useProgress(); - const search = useSaveBuffer({ - original: route.params.search || '', - save: (before, after) => { - const url = route.getSearchURL(after); - const options = { - replace: (route.params.pageType === 'search') - }; - route.change(url); - }, - autosave: 500, - }); + const { wp, route } = props; + const [ show ] = useProgress(); + const search = useSaveBuffer({ + original: route.params.search || '', + save: (before, after) => { + const url = route.getSearchURL(after); + const options = { + replace: (route.params.pageType === 'search') + }; + route.change(url); + }, + autosave: 500, + }); - const handleSearchChange = (evt) => { - search.set(evt.target.value); - }; + const handleSearchChange = (evt) => { + search.set(evt.target.value); + }; - render(); - const site = await wp.fetchSite(); - render(); - const pages = await wp.fetchPages(); - render(); + render(); + const site = await wp.fetchSite(); + render(); + const pages = await wp.fetchPages(); + render(); - function render() { - show( -
    - {renderTitleBar()} - {renderPageLinkBar()} - {renderSearchBar()} -
    - ); - } + function render() { + show( +
    + {renderTitleBar()} + {renderPageLinkBar()} + {renderSearchBar()} +
    + ); + } - function renderTitleBar() { - const name = _.get(site, 'name', ''); - const descriptionHTML = _.get(site, 'description', ''); - const description = _.unescape(descriptionHTML.replace(/'/g, "'")); - const url = route.getRootURL(); - return ( - - ); - } + function renderTitleBar() { + const name = _.get(site, 'name', ''); + const descriptionHTML = _.get(site, 'description', ''); + const description = _.unescape(descriptionHTML.replace(/'/g, "'")); + const url = route.getRootURL(); + return ( + + ); + } - function renderPageLinkBar() { - const filtered = _.filter(pages, { parent: 0 }); - const ordered = _.sortBy(filtered, 'menu_order'); - return ( -
    - {ordered.map(renderPageLinkButton)} -
    - ); - } + function renderPageLinkBar() { + const filtered = _.filter(pages, { parent: 0 }); + const ordered = _.sortBy(filtered, 'menu_order'); + return ( +
    + {ordered.map(renderPageLinkButton)} +
    + ); + } - function renderPageLinkButton(page, i) { - const title = _.get(page, 'title.rendered'); - const url = route.prefetchObjectURL(page); - return ( -
    - {title} -
    - ); - } + function renderPageLinkButton(page, i) { + const title = _.get(page, 'title.rendered'); + const url = route.prefetchObjectURL(page); + return ( +
    + {title} +
    + ); + } - function renderSearchBar() { - return ( -
    - - - - -
    - ); - } + function renderSearchBar() { + return ( +
    + + + + +
    + ); + } } const component = Relaks.memo(TopNav); export { - component as TopNav, + component as TopNav, }; diff --git a/src/wordpress.js b/src/wordpress.js index ea7a3da..47b9081 100644 --- a/src/wordpress.js +++ b/src/wordpress.js @@ -1,331 +1,331 @@ import Moment from 'moment'; class Wordpress { - /** - * Remember the data source - */ - constructor(dataSource, ssr) { - this.dataSource = dataSource; - this.ssr = ssr; - } + /** + * Remember the data source + */ + constructor(dataSource, ssr) { + this.dataSource = dataSource; + this.ssr = ssr; + } - /** - * Fetch information about the site - * - * @return {Promise} - */ - async fetchSite() { - return this.fetchOne('/'); - } + /** + * Fetch information about the site + * + * @return {Promise} + */ + async fetchSite() { + return this.fetchOne('/'); + } - /** - * Fetch a single post - * - * @param {Number|String} id - * - * @return {Promise} - */ - async fetchPost(id) { - return this.fetchOne('/wp/v2/posts/', id); - } + /** + * Fetch a single post + * + * @param {Number|String} id + * + * @return {Promise} + */ + async fetchPost(id) { + return this.fetchOne('/wp/v2/posts/', id); + } - /** - * Fetch all posts, latest first - * - * @return {Promise>} - */ - async fetchPosts() { - return this.fetchList('/wp/v2/posts/'); - } + /** + * Fetch all posts, latest first + * + * @return {Promise>} + */ + async fetchPosts() { + return this.fetchList('/wp/v2/posts/'); + } - /** - * Fetch posts in a category - * - * @param {Object} category - * - * @return {Promise>} - */ - async fetchPostsInCategory(category) { - if (!category) return []; - return this.fetchList(`/wp/v2/posts/?categories=${category.id}`); - } + /** + * Fetch posts in a category + * + * @param {Object} category + * + * @return {Promise>} + */ + async fetchPostsInCategory(category) { + if (!category) return []; + return this.fetchList(`/wp/v2/posts/?categories=${category.id}`); + } - /** - * Fetch posts with tag - * - * @param {Object} tag - * - * @return {Promise>} - */ - async fetchPostsWithTag(tag) { - if (!tag) return []; - return this.fetchList(`/wp/v2/posts/?tags=${tag.id}`); - } + /** + * Fetch posts with tag + * + * @param {Object} tag + * + * @return {Promise>} + */ + async fetchPostsWithTag(tag) { + if (!tag) return []; + return this.fetchList(`/wp/v2/posts/?tags=${tag.id}`); + } - /** - * Fetch posts published in a given month - * - * @param {Object} date - * - * @return {Promise>} - */ - async fetchPostsInMonth(date) { - if (!date) return[]; - const month = Moment(new Date(date.year, date.month - 1, 1)); - const after = month.toISOString(); - const before = month.clone().endOf('month').toISOString(); - return this.fetchList(`/wp/v2/posts/?after=${after}&before=${before}`); - } + /** + * Fetch posts published in a given month + * + * @param {Object} date + * + * @return {Promise>} + */ + async fetchPostsInMonth(date) { + if (!date) return[]; + const month = Moment(new Date(date.year, date.month - 1, 1)); + const after = month.toISOString(); + const before = month.clone().endOf('month').toISOString(); + return this.fetchList(`/wp/v2/posts/?after=${after}&before=${before}`); + } - /** - * Fetch posts matching search string - * - * @param {String} search - * - * @return {Promise>} - */ - async fetchMatchingPosts(search) { - const s = encodeURIComponent(_.trim(search)); - if (!s) return []; - return this.fetchList(`/wp/v2/posts/?search=${s}`); - } + /** + * Fetch posts matching search string + * + * @param {String} search + * + * @return {Promise>} + */ + async fetchMatchingPosts(search) { + const s = encodeURIComponent(_.trim(search)); + if (!s) return []; + return this.fetchList(`/wp/v2/posts/?search=${s}`); + } - /** - * Get the date of the earlest post and the latest post - * - * @return {Promise} - */ - async getPostDateRange() { - const latestPosts = await this.fetchPosts(); - const latestPost = _.first(latestPosts); - const earliestPosts = await this.fetchList(`/wp/v2/posts/?order=asc&per_page=1`) - const earliestPost = _.first(earliestPosts); - if (latestPost && earliestPost) { - const latest = Moment(latestPost.date_gmt); - const earliest = Moment(earliestPost.date_gmt); - return { latest, earliest }; + /** + * Get the date of the earlest post and the latest post + * + * @return {Promise} + */ + async getPostDateRange() { + const latestPosts = await this.fetchPosts(); + const latestPost = _.first(latestPosts); + const earliestPosts = await this.fetchList(`/wp/v2/posts/?order=asc&per_page=1`) + const earliestPost = _.first(earliestPosts); + if (latestPost && earliestPost) { + const latest = Moment(latestPost.date_gmt); + const earliest = Moment(earliestPost.date_gmt); + return { latest, earliest }; + } + } + + /** + * Fetch a page + * + * @param {Number|String} id + * + * @return {Promise} + */ + async fetchPage(id) { + return this.fetchOne('/wp/v2/pages/', id); + } + + /** + * Fetch all pages + * + * @return {Promise>} + */ + async fetchPages() { + return this.fetchList('/wp/v2/pages/', { minimum: '100%' }); + } + + /** + * Fetch a page's parents + * + * @param {Object} page + * + * @return {Promise>} + */ + async fetchParentPages(page) { + if (!page) return []; + const parentPages = []; + let parentID = page.parent; + while (parentID) { + const parentPage = await this.fetchPage(parentID); + if (!parentPage) { + break; + } + parentPages.push(parentPage); + parentID = parentPage.parent; + } + return parentPages; + } + + /** + * Fetch a page's children + * + * @param {Object} page + * + * @return {Promise>} + */ + async fetchChildPages(page) { + if (!page) return []; + const pages = await this.fetchPages(); + const childPages = _.filter(pages, { parent: page.id }); + childPages.more = () => {}; + childPages.total = childPages.length; + return childPages; + } + + /** + * Fetch a category + * + * @param {Number|String} id + * + * @return {Promise} + */ + async fetchCategory(id) { + return this.fetchOne(`/wp/v2/categories/`, id); + } + + /** + * Fetch all categories + * + * @return {Promise>} + */ + async fetchCategories() { + return this.fetchList(`/wp/v2/categories/`, { minimum: '100%' }); + } + + /** + * Fetch parents of a category + * + * @param {Object} category + * + * @return {Promise>} + */ + async fetchParentCategories(category) { + if (!category) return []; + const parentCategories = []; + let parentID = category.parent; + while (parentID) { + const parentCategory = await this.fetchCategory(parentID); + if (!parentCategory) { + break; + } + parentCategories.push(parentCategory); + parentID = parentCategory.parent; + } + return parentCategories; + } + + /** + * Fetch a single tag + * + * @param {Number|String} id + * + * @return {Promise} + */ + async fetchTag(id) { + return this.fetchOne(`/wp/v2/tags/`, id); + } + + /** + * Fetch tags, popular ones listed first + * + * @return {Promise>} + */ + async fetchTopTags() { + return this.fetchList(`/wp/v2/tags/?orderby=count&order=desc`); + } + + /** + * Fetch tags attach to a post + * + * @param {Object} post + * + * @return {Promise>} + */ + async fetchTagsOfPost(post) { + if (!post) return []; + return this.fetchMultiple(`/wp/v2/tags/`, post.tags); + } + + /** + * Fetch author of a post or page + * + * @param {Object} post + * + * @return {Promise} + */ + async fetchAuthor(post) { + if (!post) return null; + return this.fetchOne(`/wp/v2/users/`, post.author); + } + + /** + * Fetch comments on a post + * + * @param {Object} post + * + * @return {Promise>} + */ + async fetchComments(post) { + if (!post) return []; + return this.fetchList(`/wp/v2/comments/?post=${post.id}`); + } + + /** + * Fetch featured media of posts + * + * @param {Array} ids + * @param {Number} count + * + * @return {Promise>} + */ + async fetchFeaturedMedias(posts, count) { + const ids = []; + for (let post of posts) { + if (post.featured_media) { + ids.push(post.featured_media); + if (ids.length >= count) { + break; } + } } + return this.fetchMultiple(`/wp/v2/media`, ids); + } - /** - * Fetch a page - * - * @param {Number|String} id - * - * @return {Promise} - */ - async fetchPage(id) { - return this.fetchOne('/wp/v2/pages/', id); - } + /** + * Fetch one object from data source + * + * @param {String} url + * @param {Number|String} id + * @param {Object} options + * + * @return {Promise} + */ + async fetchOne(url, id, options) { + return this.dataSource.fetchOne(url, id, options); + } - /** - * Fetch all pages - * - * @return {Promise>} - */ - async fetchPages() { - return this.fetchList('/wp/v2/pages/', { minimum: '100%' }); - } + /** + * Fetch a list of objects from data source + * + * @param {String} url + * @param {Object} options + * + * @return {Promise} + */ + async fetchList(url, options) { + return this.dataSource.fetchList(url, options); + } - /** - * Fetch a page's parents - * - * @param {Object} page - * - * @return {Promise>} - */ - async fetchParentPages(page) { - if (!page) return []; - const parentPages = []; - let parentID = page.parent; - while (parentID) { - const parentPage = await this.fetchPage(parentID); - if (!parentPage) { - break; - } - parentPages.push(parentPage); - parentID = parentPage.parent; - } - return parentPages; - } - - /** - * Fetch a page's children - * - * @param {Object} page - * - * @return {Promise>} - */ - async fetchChildPages(page) { - if (!page) return []; - const pages = await this.fetchPages(); - const childPages = _.filter(pages, { parent: page.id }); - childPages.more = () => {}; - childPages.total = childPages.length; - return childPages; - } - - /** - * Fetch a category - * - * @param {Number|String} id - * - * @return {Promise} - */ - async fetchCategory(id) { - return this.fetchOne(`/wp/v2/categories/`, id); - } - - /** - * Fetch all categories - * - * @return {Promise>} - */ - async fetchCategories() { - return this.fetchList(`/wp/v2/categories/`, { minimum: '100%' }); - } - - /** - * Fetch parents of a category - * - * @param {Object} category - * - * @return {Promise>} - */ - async fetchParentCategories(category) { - if (!category) return []; - const parentCategories = []; - let parentID = category.parent; - while (parentID) { - const parentCategory = await this.fetchCategory(parentID); - if (!parentCategory) { - break; - } - parentCategories.push(parentCategory); - parentID = parentCategory.parent; - } - return parentCategories; - } - - /** - * Fetch a single tag - * - * @param {Number|String} id - * - * @return {Promise} - */ - async fetchTag(id) { - return this.fetchOne(`/wp/v2/tags/`, id); - } - - /** - * Fetch tags, popular ones listed first - * - * @return {Promise>} - */ - async fetchTopTags() { - return this.fetchList(`/wp/v2/tags/?orderby=count&order=desc`); - } - - /** - * Fetch tags attach to a post - * - * @param {Object} post - * - * @return {Promise>} - */ - async fetchTagsOfPost(post) { - if (!post) return []; - return this.fetchMultiple(`/wp/v2/tags/`, post.tags); - } - - /** - * Fetch author of a post or page - * - * @param {Object} post - * - * @return {Promise} - */ - async fetchAuthor(post) { - if (!post) return null; - return this.fetchOne(`/wp/v2/users/`, post.author); - } - - /** - * Fetch comments on a post - * - * @param {Object} post - * - * @return {Promise>} - */ - async fetchComments(post) { - if (!post) return []; - return this.fetchList(`/wp/v2/comments/?post=${post.id}`); - } - - /** - * Fetch featured media of posts - * - * @param {Array} ids - * @param {Number} count - * - * @return {Promise>} - */ - async fetchFeaturedMedias(posts, count) { - const ids = []; - for (let post of posts) { - if (post.featured_media) { - ids.push(post.featured_media); - if (ids.length >= count) { - break; - } - } - } - return this.fetchMultiple(`/wp/v2/media`, ids); - } - - /** - * Fetch one object from data source - * - * @param {String} url - * @param {Number|String} id - * @param {Object} options - * - * @return {Promise} - */ - async fetchOne(url, id, options) { - return this.dataSource.fetchOne(url, id, options); - } - - /** - * Fetch a list of objects from data source - * - * @param {String} url - * @param {Object} options - * - * @return {Promise} - */ - async fetchList(url, options) { - return this.dataSource.fetchList(url, options); - } - - /** - * Fetch multiple objects from data source - * - * @param {String} url - * @param {Array} ids - * @param {Object} options - * - * @return {Promise} - */ - async fetchMultiple(url, ids, options) { - if (this.ssr === 'seo') { - options = Object.assign({}, options, { minimum: '100%' }); - } - return this.dataSource.fetchMultiple(url, ids, options); + /** + * Fetch multiple objects from data source + * + * @param {String} url + * @param {Array} ids + * @param {Object} options + * + * @return {Promise} + */ + async fetchMultiple(url, ids, options) { + if (this.ssr === 'seo') { + options = Object.assign({}, options, { minimum: '100%' }); } + return this.dataSource.fetchMultiple(url, ids, options); + } } export { - Wordpress, + Wordpress, }; diff --git a/webpack.config.js b/webpack.config.js index 4077355..d390f3d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,185 +1,168 @@ -var _ = require('lodash'); -var FS = require('fs'); -var Path = require('path'); -var Webpack = require('webpack'); -var HtmlWebpackPlugin = require('html-webpack-plugin'); -var DefinePlugin = Webpack.DefinePlugin; -var NamedChunksPlugin = Webpack.NamedChunksPlugin; -var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; -var MiniCSSExtractPlugin = require("mini-css-extract-plugin"); +const _ = require('lodash'); +const Path = require('path'); +const Webpack = require('webpack'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const DefinePlugin = Webpack.DefinePlugin; +const NamedChunksPlugin = Webpack.NamedChunksPlugin; +const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; +const MiniCSSExtractPlugin = require("mini-css-extract-plugin"); -var EVENT = process.env.npm_lifecycle_event; -var BUILD = (EVENT === 'build') ? 'production' : 'development'; -var IS_DEV_SERVER = process.argv.find((arg) => { return arg.includes('webpack-dev-server') }); -var DEV_DATA_HOST = (IS_DEV_SERVER) ? 'http://localhost:8000' : undefined; -var CORDOVA_DATA_HOST = process.env.CORDOVA_DATA_HOST; -var BASE_PATH = '/'; +const EVENT = process.env.npm_lifecycle_event; +const BUILD = (EVENT === 'build') ? 'production' : 'development'; +const IS_DEV_SERVER = !!process.argv.find(arg => arg.includes('webpack-dev-server')); +const DEV_DATA_HOST = (IS_DEV_SERVER) ? 'http://localhost:8000' : undefined; +const CORDOVA_DATA_HOST = process.env.CORDOVA_DATA_HOST; +const BASE_PATH = '/'; -var clientConfig = { - mode: BUILD, - context: Path.resolve('./src'), - entry: './main', - output: { - path: Path.resolve('./server/www'), - publicPath: BASE_PATH, - filename: 'front-end.js', - }, - resolve: { - extensions: [ '.js', '.jsx' ], - modules: [ Path.resolve('./src'), 'node_modules' ], - }, - module: { - rules: [ - { - test: /\.jsx?$/, - loader: 'babel-loader', - exclude: /node_modules/, - query: { - presets: [ - [ 'env', { modules: false } ], - 'react', - 'stage-0', - ], - plugins: [ - 'syntax-async-functions', - 'syntax-class-properties', - 'transform-regenerator', - 'transform-runtime', - ] - } - }, - { - test: /\.scss$/, - use: [ - MiniCSSExtractPlugin.loader, - 'css-loader', - 'sass-loader' - ], - }, - { - test: /fonts.*\.woff2?(\?v=[0-9]\.[0-9]\.[0-9])?$/, - loader: 'file-loader', - }, - { - test: /fonts.*\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, - loader: 'file-loader', - query: { - emitFile: false, - } - }, - ] - }, - plugins: [ - new DefinePlugin({ - 'process.env.NODE_ENV': JSON.stringify(BUILD), - 'process.env.TARGET': JSON.stringify('browser'), - 'process.env.DATA_HOST': JSON.stringify(DEV_DATA_HOST), - 'process.env.BASE_PATH': JSON.stringify(BASE_PATH), - }), - new NamedChunksPlugin, - new BundleAnalyzerPlugin({ - analyzerMode: (EVENT === 'build') ? 'static' : 'disabled', - reportFilename: `report.html`, - }), - new MiniCSSExtractPlugin({ - filename: "[name].css", - chunkFilename: "[id].css" - }), - ], - optimization: { - concatenateModules: false, - }, - devtool: (EVENT === 'build') ? 'source-map' : 'inline-source-map', +const clientConfig = { + mode: BUILD, + context: Path.resolve('./src'), + entry: './main', + output: { + path: Path.resolve('./server/www'), + publicPath: BASE_PATH, + filename: 'front-end.js', + }, + module: { + rules: [ + { + test: /\.jsx?$/, + loader: 'babel-loader', + exclude: /node_modules/, + query: { + presets: [ + '@babel/env', + '@babel/react', + ], + plugins: [ + '@babel/transform-runtime', + ] + } + }, + { + test: /\.scss$/, + use: [ + MiniCSSExtractPlugin.loader, + 'css-loader', + 'sass-loader' + ], + }, + { + test: /fonts.*\.woff2?(\?v=[0-9]\.[0-9]\.[0-9])?$/, + loader: 'file-loader', + }, + { + test: /fonts.*\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, + loader: 'file-loader', + query: { + emitFile: false, + } + }, + ] + }, + plugins: [ + new DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify(BUILD), + 'process.env.TARGET': JSON.stringify('browser'), + 'process.env.DATA_HOST': JSON.stringify(DEV_DATA_HOST), + 'process.env.BASE_PATH': JSON.stringify(BASE_PATH), + }), + new NamedChunksPlugin, + new BundleAnalyzerPlugin({ + analyzerMode: (EVENT === 'build') ? 'static' : 'disabled', + reportFilename: `report.html`, + }), + new MiniCSSExtractPlugin({ + filename: "[name].css", + chunkFilename: "[id].css" + }), + ], + optimization: { + concatenateModules: false, + }, + devtool: (EVENT === 'build') ? 'source-map' : 'inline-source-map', }; -var serverConfig = { - mode: clientConfig.mode, - context: clientConfig.context, - entry: './ssr', - target: 'node', - output: { - path: Path.resolve('./server/client'), - publicPath: BASE_PATH, - filename: 'front-end.js', - libraryTarget: 'commonjs', - }, - resolve: clientConfig.resolve, - module: clientConfig.module, - plugins: [ - new DefinePlugin({ - 'process.env.NODE_ENV': JSON.stringify(BUILD), - 'process.env.TARGET': JSON.stringify('node'), - 'process.env.DATA_HOST': JSON.stringify(undefined), - 'process.env.BASE_PATH': JSON.stringify(BASE_PATH), - }), - new NamedChunksPlugin, - new HtmlWebpackPlugin({ - template: Path.resolve(`./src/index.html`), - filename: 'index.html', - }), - new MiniCSSExtractPlugin({ - filename: "[name].css", - chunkFilename: "[id].css" - }), - ], - devtool: clientConfig.devtool, +const serverConfig = { + mode: clientConfig.mode, + context: clientConfig.context, + entry: './ssr', + target: 'node', + output: { + path: Path.resolve('./server/client'), + publicPath: BASE_PATH, + filename: 'front-end.js', + libraryTarget: 'commonjs', + }, + module: clientConfig.module, + plugins: [ + new DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify(BUILD), + 'process.env.TARGET': JSON.stringify('node'), + 'process.env.DATA_HOST': JSON.stringify(undefined), + 'process.env.BASE_PATH': JSON.stringify(BASE_PATH), + }), + new NamedChunksPlugin, + new HtmlWebpackPlugin({ + template: Path.resolve(`./src/index.html`), + filename: 'index.html', + }), + new MiniCSSExtractPlugin({ + filename: "[name].css", + chunkFilename: "[id].css" + }), + ], + devtool: clientConfig.devtool, }; -var cordovaConfig = { - context: clientConfig.context, - entry: clientConfig.entry, - output: { - path: Path.resolve('./cordova/sample-app/www'), - publicPath: '', - filename: 'front-end.js', - }, - resolve: clientConfig.resolve, - module: clientConfig.module, - plugins: [ - new DefinePlugin({ - 'process.env.NODE_ENV': JSON.stringify(BUILD), - 'process.env.TARGET': JSON.stringify('browser'), - 'process.env.DATA_HOST': JSON.stringify(CORDOVA_DATA_HOST), - 'process.env.BASE_PATH': JSON.stringify(BASE_PATH), - }), - new NamedChunksPlugin, - new HtmlWebpackPlugin({ - template: Path.resolve(`./src/index.html`), - filename: 'index.html', - cordova: true, - host: CORDOVA_DATA_HOST - }), - new MiniCSSExtractPlugin({ - filename: "[name].css", - chunkFilename: "[id].css" - }), - ], +const cordovaConfig = { + context: clientConfig.context, + entry: clientConfig.entry, + output: { + path: Path.resolve('./cordova/sample-app/www'), + publicPath: '', + filename: 'front-end.js', + }, + module: clientConfig.module, + plugins: [ + new DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify(BUILD), + 'process.env.TARGET': JSON.stringify('browser'), + 'process.env.DATA_HOST': JSON.stringify(CORDOVA_DATA_HOST), + 'process.env.BASE_PATH': JSON.stringify(BASE_PATH), + }), + new NamedChunksPlugin, + new HtmlWebpackPlugin({ + template: Path.resolve(`./src/index.html`), + filename: 'index.html', + cordova: true, + host: CORDOVA_DATA_HOST + }), + new MiniCSSExtractPlugin({ + filename: "[name].css", + chunkFilename: "[id].css" + }), + ], }; -var configs = module.exports = []; +const configs = module.exports = []; if (IS_DEV_SERVER) { - // need HTML page - clientConfig.plugins.push(new HtmlWebpackPlugin({ - template: Path.resolve(`./src/index.html`), - filename: 'index.html', - })); - // config dev-server to support client-side routing - clientConfig.devServer = { - inline: true, - historyApiFallback: true, - }; - configs.push(clientConfig); + // need HTML page + clientConfig.plugins.push(new HtmlWebpackPlugin({ + template: Path.resolve(`./src/index.html`), + filename: 'index.html', + })); + // config dev-server to support client-side routing + clientConfig.devServer = { + inline: true, + historyApiFallback: true, + }; + configs.push(clientConfig); } else { - configs.push(clientConfig, serverConfig) - if (CORDOVA_DATA_HOST) { - configs.push(cordovaConfig); - console.log('Building for Cordova: ' + CORDOVA_DATA_HOST); - } -} - -// copy webpack.resolve.js into webpack.debug.js to resolve Babel presets -// and plugins to absolute paths, required when linked modules are used -if (FS.existsSync('./webpack.debug.js')) { - configs.map(require('./webpack.debug.js')); + configs.push(clientConfig, serverConfig) + if (CORDOVA_DATA_HOST) { + configs.push(cordovaConfig); + console.log('Building for Cordova: ' + CORDOVA_DATA_HOST); + } } diff --git a/webpack.resolve.js b/webpack.resolve.js deleted file mode 100644 index ae71c7f..0000000 --- a/webpack.resolve.js +++ /dev/null @@ -1,31 +0,0 @@ -var Path = require('path'); - -module.exports = function(config) { - config.module.rules.forEach((rule) => { - if (rule.loader === 'babel-loader' && rule.query) { - if (rule.query.presets) { - rule.query.presets = rule.query.presets.map((preset) => { - return resolve('preset', preset); - }) - } - if (rule.query.plugins) { - rule.query.plugins = rule.query.plugins.map((plugin) => { - return resolve('plugin', plugin); - }) - } - } - }); - config.resolve.modules.splice(1, 0, Path.resolve('./node_modules')); -}; - -function resolve(type, module) { - if (module instanceof Array) { - module[0] = resolve(type, module[0]); - return module; - } else { - if (!/^[\w\-]+$/.test(module)) { - return module; - } - return Path.resolve(`./node_modules/babel-${type}-${module}`); - } -}